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
模組來驗證支援,然後再啟用。