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