来源

它指定目标的源文件的路径列表。以下命令全部设置或添加到 SOURCES 目标属性,这是操作它的常规方法

SOURCES 的内容可以使用 generator expressions。如果路径以生成器表达式开头,则期望它计算出绝对路径。如果没有这样做,则视为未定义的行为。

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

如果路径不以生成器表达式开头,不是绝对路径也不是生成的二进制文件,那么它将被视为相对于以下内容中第一个匹配项选定的位置

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

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

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

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

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