代码之家  ›  专栏  ›  技术社区  ›  Zohar81

Cmake将语言作为变量传递给项目

  •  0
  • Zohar81  · 技术社区  · 4 年前

    目前,我有以下项目定义:

    set(supported_languages "CXX OBJC OBJCXX")
    
    project(
      myProj
      VERSION ${ver}
      LANGUAGES ${supported_languages})
    

    哪里 supported_languages 定义为由空格分隔的参数字符串 (即。 CXX OBJC OBJCXX )

    然而,它失败了,因为cmake希望得到一个列表,这就是我得到的错误

    CMake Error: Could not find cmake module file: CMakeDetermineCXX OBJC OBJCXXCompiler.cmake
    

    所以我试着把它转换成列表 list(${supported_languages}) 但它仍然不起作用。

    我想知道什么是使它工作的最佳实践?

    0 回复  |  直到 4 年前
        1
  •  2
  •   long.kl    4 年前

    这个错误是因为(“)字符 让我们试试这个

    set(supported_languages CXX OBJC OBJCXX)
    
    project(
      myProj
      VERSION ${ver}
      LANGUAGES ${supported_languages})