字符串和列表

了解 CMake 如何区分列表和普通字符串非常重要。当你写:

set(VAR "a b c")

你创建一个值为 a b c字符串。但是当你在没有引号的情况下写这行时:

set(VAR a b c)

你可以创建一个包含三个项目的列表abc

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

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

有点令人困惑,列表也是一个字符串。这条线

set(VAR a b c)

相当于

set(VAR "a;b;c")

因此,要连接列表,还可以使用 set() 命令:

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