enable_language¶
啟用語言 (CXX/C/OBJC/OBJCXX/Fortran/等)
enable_language(<lang>... [OPTIONAL])
在 CMake 中啟用對指定語言的支援。這與 project()
命令相同,但不建立 project()
命令建立的額外變數。
支援的語言為 C
、CXX
(即 C++)、CSharp
(即 C#)、CUDA
、OBJC
(即 Objective-C)、OBJCXX
(即 Objective-C++)、Fortran
、HIP
、ISPC
、Swift
、ASM
、ASM_NASM
、ASM_MARMASM
、ASM_MASM
和 ASM-ATT
。
在 3.8 版本中新增: 新增了
CSharp
和CUDA
支援。在 3.15 版本中新增: 新增了
Swift
支援。在 3.16 版本中新增: 新增了
OBJC
和OBJCXX
支援。在 3.18 版本中新增: 新增了
ISPC
支援。在 3.21 版本中新增: 新增了
HIP
支援。在 3.26 版本中新增: 新增了
ASM_MARMASM
支援。
若要啟用 ASM
,請將其列在最後,以便 CMake 可以檢查其他語言(如 C
)的編譯器是否也適用於組譯。
以下限制適用於 enable_language()
的呼叫位置:
它必須在檔案範圍內呼叫,而不能在函式呼叫中呼叫。
它必須在所有直接使用指定語言來編譯原始碼或透過連結相依性間接使用指定語言的目標共有的最高目錄中呼叫。最簡單的方法是在專案的頂層目錄中啟用所有需要的語言。
OPTIONAL
關鍵字是未來實作的佔位符,目前不起作用。您可以使用 CheckLanguage
模組來驗證支援,然後再啟用。