启用语言¶
启用语言(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 的编译器是否也适用于汇编。
如果没有给出语言选项,默认情况下启用 C 和 CXX。指定语言“NONE”,或使用“LANGUAGES”关键字并且不列出任何语言,以跳过启用任何语言。
此命令必须在文件范围内调用,而不是在函数调用中。此外,它必须在所有使用命名语言的目标共有的最高目录中直接调用以编译源代码或通过链接依赖项间接调用。在项目的顶级目录中启用所有需要的语言是最简单的。
OPTIONAL 关键字是未来实现的占位符,目前不起作用。相反,您可以使用 CheckLanguage 模块在启用之前验证支持。