cmake 字符串和列表

示例

重要的是要了解CMake如何区分列表和纯字符串。当您写:

set(VAR "a b c")

您创建一个带有值的字符串"a b c"。但是,当您编写不带引号的这一行时:

set(VAR a b c)

您创建一个列表的三个项目,而不是:"a","b"和"c"。

非列表变量实际上也是(单个元素的)列表。

可以使用list()命令来操作列表,该命令允许连接列表,搜索列表,访问任意元素等(的文档list())。

有点令人困惑的是,列表也是一个字符串

set(VAR a b c)

相当于

set(VAR "a;b;c")

因此,要串联列表,还可以使用以下set()命令:

set(NEW_LIST "${OLD_LIST1};${OLD_LIST2})"