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
模块在启用之前验证支持。