CMAKE中LANGUAGE变量的可能值是什么

时间:2014-07-02 14:55:29

标签: cmake

我还没有能够在CMAKE.org网站或其他任何地方找到LANGUAGE变量的可能值列表。有人请列举CMAKE认可的价值观吗?我特别需要指定Objective C ++。

2 个答案:

答案 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()电话:

  1. ASM
  2. ASM-ATT
  3. ASM-MASM
  4. ASM-NASM
  5. C
  6. CSharp
  7. CUDA
  8. CXX
  9. Fortran
  10. Java
  11. RC(Windows资源编译器)
  12. Swift
  13. 使用CMake版本3.9进行评估

    <强>参考