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