CheckLanguage

檢查是否能透過 enable_language()project() 命令啟用語言

check_language
check_language(<lang>)

嘗試在測試專案中啟用語言 <lang>,並將結果記錄在快取中

CMAKE_<LANG>_COMPILER

如果語言可以啟用,此變數會設定為找到的編譯器。如果語言無法啟用,此變數會設定為 NOTFOUND

如果此變數已經設定(無論是明確設定還是由先前的呼叫快取),則會跳過檢查。

CMAKE_<LANG>_HOST_COMPILER

<lang>CUDAHIP 時,會設定此變數。

如果檢查偵測到編譯需要明確的主機編譯器,此變數將會設定為該編譯器。如果檢查偵測到不需要明確的主機編譯器,此變數將會清除。

如果此變數已經設定,則僅當 CMAKE_<LANG>_COMPILER 也設定時,其值才會保留。否則,檢查會執行並使用新結果覆寫 CMAKE_<LANG>_HOST_COMPILER。請注意,CMAKE_<LANG>_HOST_COMPILER 文件指出,在未同時將 CMAKE_<LANG>_COMPILER 設定為 NVCC 編譯器的情況下,不應設定此變數。

CMAKE_<LANG>_PLATFORM

<lang>HIP 時,此變數會設定為偵測到的 GPU 平台。

如果變數已設定,則其值始終保留。只有相容的值才會被考慮用於 CMAKE_<LANG>_COMPILER

例如

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