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.29/module/CheckLanguage.html