CheckLanguage
Проверьте, может ли язык быть включён командами enable_language() или project():
-
check_language -
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документирует, что она не должна устанавливаться без одновременного установленияCMAKE_<LANG>_COMPILERв компилятор NVCC. -
CMAKE_<LANG>_PLATFORM -
Эта переменная устанавливается в обнаруженную платформу GPU, когда
<lang>равноHIP.Если переменная уже установлена, её значение всегда сохраняется. Для
CMAKE_<LANG>_COMPILERбудут рассмотрены только совместимые значения.
-
Например:
check_language(Fortran) if(CMAKE_Fortran_COMPILER) enable_language(Fortran) else() message(STATUS "No Fortran support") endif()
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/module/CheckLanguage.html