Spec-Zone.ru › CMake

CheckLanguage

Этот модуль предоставляет команду для проверки возможности включения языка с помощью команд enable_language() или project().

Подключите этот модуль в проекте CMake с помощью:

include(CheckLanguage)

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

Команды

Этот модуль предоставляет следующую команду:

check_language

Проверяет возможность включения языка в проекте CMake:

check_language(<lang>)

Эта команда пытается включить язык <lang> в тестовом проекте и сохраняет результаты в следующих переменных кэша:

CMAKE_<LANG>_COMPILER

Если язык можно включить, этой переменной присваивается имя найденного компилятора. Если язык включить нельзя, этой переменной присваивается значение NOTFOUND.

Если эта переменная уже задана явно или сохранена в кэше предыдущим вызовом, проверка пропускается.

CMAKE_<LANG>_HOST_COMPILER

Эта переменная задаётся, когда <lang> имеет значение CUDA или HIP.

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

Если эта переменная уже задана, её значение сохраняется только в том случае, если также задана переменная CMAKE_<LANG>_COMPILER. В противном случае проверка выполняется, а переменной CMAKE_<LANG>_HOST_COMPILER присваивается новый результат. Обратите внимание: в документации указано, что CMAKE_<LANG>_HOST_COMPILER не следует задавать без одновременного присваивания компилятора NVCC переменной CMAKE_<LANG>_COMPILER.

CMAKE_<LANG>_PLATFORM

Этой переменной присваивается обнаруженная платформа GPU, когда <lang> имеет значение HIP.

Если эта переменная уже задана, её значение всегда сохраняется. Для переменной CMAKE_<LANG>_COMPILER будут рассматриваться только совместимые значения.

Примеры

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

include(CheckLanguage)
check_language(Fortran)
if(CMAKE_Fortran_COMPILER)
  enable_language(Fortran)
else()
  message(STATUS "No Fortran support")
endif()

© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/module/CheckLanguage.html

Spec-Zone.ru

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