Spec-Zone.ru › CMake 3.31

FindOpenMP

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

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

Добавлен в версии 3.5: Поддержка Clang.

Переменные ввода

Следующие переменные могут быть установлены для управления поведением этого модуля:

OpenMP_RUNTIME_MSVC

Добавлен в версии 3.30.

Укажите OpenMP Runtime при компиляции с MSVC. Если установлено ненулевое значение, например experimental или llvm, оно будет передано в качестве значения флага -openmp:.

Переменные результатов

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

Добавлен в версии 3.31: Компонент языка CUDA поддерживается при использовании компилятора CUDA, поддерживающего OpenMP на хосте.

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

OpenMP_FOUND

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

OpenMP_VERSION

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

Этот модуль установит следующие переменные для каждого языка в вашем проекте, где <lang> — это C, CXX, CUDA или 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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/module/FindOpenMP.html

Spec-Zone.ru

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