Spec-Zone.ru › CMake 3.25

FindOpenMP

Определяет поддержку Open Multi-Processing (OpenMP).

Этот модуль может использоваться для определения поддержки OpenMP в компиляторе. Если компилятор поддерживает OpenMP, флаги, необходимые для компиляции с поддержкой OpenMP, возвращаются в переменных для разных языков. Переменные могут быть пустыми, если компилятору не требуется специальный флаг для поддержки OpenMP.

Новое в версии 3.5: Поддержка Clang.

Переменные

Новое в версии 3.10: Модуль предоставляет компоненты C, CXX, и Fortran. Каждый из них управляет поиском поддержки OpenMP для различных языков.

В зависимости от включённых компонентов будут установлены следующие переменные:

OpenMP_FOUND

Переменная, указывающая, что флаги OpenMP для всех запрошенных языков найдены. Если не указаны никакие компоненты, это значение истинно, если настройки OpenMP для всех включенных языков были обнаружены.

OpenMP_VERSION

Минимальная версия стандарта OpenMP, обнаруженная среди запрошенных языков, или всех включённых языков, если не были указаны компоненты.

Этот модуль установит следующие переменные для каждого языка в вашем проекте, где <lang> — это C, CXX или Fortran:

OpenMP_<lang>_FOUND

Переменная, указывающая, была ли обнаружена поддержка OpenMP для <lang>.

OpenMP_<lang>_FLAGS

Флаги компилятора OpenMP для <lang>, разделенные пробелами.

OpenMP_<lang>_INCLUDE_DIRS

Директории, которые необходимо добавить в путь поиска заголовков для <lang> при использовании OpenMP.

Для линковки с кодом OpenMP, написанным на <lang>, предоставляются следующие переменные:

OpenMP_<lang>_LIB_NAMES

;-list библиотек для программ OpenMP для <lang>.

OpenMP_<libname>_LIBRARY

Расположение отдельных библиотек, необходимых для поддержки OpenMP в <lang>.

OpenMP_<lang>_LIBRARIES

Список библиотек, необходимых для линковки с кодом OpenMP, написанным на <lang>.

Кроме того, модуль предоставляет IMPORTED целевые объекты:

OpenMP::OpenMP_<lang>

Целевой объект для использования OpenMP из <lang>.

В частности, для Fortran модуль устанавливает следующие переменные:

OpenMP_Fortran_HAVE_OMPLIB_HEADER

Булево значение, указывающее, доступен ли OpenMP через omp_lib.h.

OpenMP_Fortran_HAVE_OMPLIB_MODULE

Булево значение, указывающее, доступен ли OpenMP через модуль Fortran omp_lib.

Модуль также попытается предоставить переменные версии OpenMP:

OpenMP_<lang>_SPEC_DATE

Новое в версии 3.7.

Дата спецификации OpenMP, реализованной компилятором <lang>.

OpenMP_<lang>_VERSION_MAJOR

Основная версия OpenMP, реализованная компилятором <lang>.

OpenMP_<lang>_VERSION_MINOR

Дополнительная версия OpenMP, реализованная компилятором <lang>.

OpenMP_<lang>_VERSION

Версия OpenMP, реализованная компилятором <lang>.

Дата спецификации отформатирована в соответствии со стандартом OpenMP: yyyymm, где yyyy и mm представляют год и месяц спецификации OpenMP, реализованной компилятором <lang>.

Для некоторых компиляторов может потребоваться добавить путь поиска заголовков для поиска соответствующих заголовков OpenMP. Это расположение может быть специфичным для языка. В случае необходимости модуль может попытаться найти это расположение, но его можно указать напрямую, установив переменную кэша OpenMP_<lang>_INCLUDE_DIR. Обратите внимание, что эта переменная является _входным_ параметром для модуля. Код проекта должен использовать переменную OpenMP_<lang>_INCLUDE_DIRS _выходного_ типа, если ему нужно узнать необходимые каталоги включения.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/module/FindOpenMP.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API