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()