来源

这指定了目标源文件的路径列表。以下命令都设置或添加到 SOURCES 目标属性,并且是操作它的常用方法:

SOURCES 的内容可以使用 generator expressions。如果路径以生成器表达式开头,则应计算为绝对路径。不这样做被认为是未定义的行为。

如果路径尚未指定为绝对路径,则构建生成的文件的路径将被视为相对于目标的构建目录。请注意,一个文件是否被视为已生成可能会受到策略 CMP0118 的影响。

如果路径不以生成器表达式开头,不是绝对路径,也不是生成的文件,它将被视为相对于由以下第一个匹配的位置选择的位置:

  • 如果指定路径的文件相对于目标的源目录存在,则使用该文件。

  • 如果策略:policy:CMP0115 未设置为 NEW,请尝试将每个已知的源文件扩展名附加到路径并检查是否存在相对于目标源目录的文件扩展名。

  • 重复以上两个步骤,这次是相对于目标的二进制目录。

请注意,上述决定是在生成时做出的,而不是构建时。

有关定义构建系统属性的更多信息,请参阅 cmake-buildsystem(7) 手册。