FindOpenMP
Определяет поддержку Open Multi-Processing (OpenMP).
Этот модуль может быть использован для обнаружения поддержки OpenMP в компиляторе. Если компилятор поддерживает OpenMP, флаги, необходимые для компиляции с поддержкой OpenMP, возвращаются в переменных для разных языков. Переменные могут быть пустыми, если компилятору не нужен специальный флаг для поддержки OpenMP.
Переменные
Модуль предоставляет компоненты 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 -
Дата спецификации 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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.17/module/FindOpenMP.html