Cmake 项目从变量设置 LANGUAGES

Cmake project set LANGUAGES from variable

目前我有以下项目定义:

set(supported_languages "CXX OBJC OBJCXX")

project(
  myProj
  VERSION ${ver}
  LANGUAGES ${supported_languages})

其中 supported_languages 定义为由 space 分隔的参数字符串 (即 CXX OBJC OBJCXX

但是,它失败了,因为 cmake 期望得到一个列表,这是我得到的错误

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

所以我尝试将其转换为列表 list(${supported_languages}) 但它仍然不起作用。

我想知道让它发挥作用的最佳做法是什么?

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

set(supported_languages CXX OBJC OBJCXX)

project(
  myProj
  VERSION ${ver}
  LANGUAGES ${supported_languages})