我还没有能够在CMAKE.org网站或其他任何地方找到LANGUAGE变量的可能值列表。有人请列举CMAKE认可的价值观吗?我特别需要指定Objective C ++。
答案 0 :(得分:6)
语言支持因平台而异。
目前,CMake在大多数平台上都支持C,CXX和Fortran。在某些平台上也支持某些汇编程序。有关完整列表,请查看the contents of the Modules/Platform
folder。
这个想法是给LANGUAGE
命令的project
字段或enable_language
命令的语言只是一个字符串,然后由CMake和{{{{{ 3}}设置构建系统。随CMake一起提供的Platform脚本为C和C ++执行此配置。从理论上讲,只需设置正确的变量就可以添加自己的语言(尽管这很复杂,我不知道有没有人成功地这样做过。)
至于添加对Objective-C的支持:由于大多数工具链对C和Objective-C使用相同的编译器,因此您无需配置新语言。只需将您的代码编译为纯C,并为Objective-C支持添加适当的编译器标志。
不幸的是,使用起来不太舒服,并且在角落的情况下很容易破裂。但是直到CMake明确支持Objective-C作为一流的语言,我担心这会得到它的好处。
答案 1 :(得分:5)
只需查看所有the CMakeDetermine<Language>Compiler.cmake
scripts CMake船只。
这会产生 - 按字母顺序排列 - 在下面你可以加入enable_language()
电话:
ASM
ASM-ATT
ASM-MASM
ASM-NASM
C
CSharp
CUDA
CXX
Fortran
Java
RC
(Windows资源编译器)Swift
使用CMake版本3.9进行评估
<强>参考强>