已生成

此源文件是否作为构建或 CMake 过程的一部分生成。

在 3.20 版本中变更: 在一个目录中启用 GENERATED 源文件属性允许关联的源文件跨目录使用,而无需手动为其他目录范围设置该属性。此外,它现在只能设置为布尔值,并且一旦启用就不能关闭。请参阅策略 CMP0118

在 3.30 版本中变更: 源文件是否生成是源文件的全局属性,要么全部要么全无。因此,GENERATED 源文件属性现在在所有目录中都可见。请参阅策略 CMP0163

告知 CMake 内部引擎,源文件是由外部进程(例如另一个构建步骤或 CMake 自身的执行)生成的。然后,此信息用于豁免该文件于任何存在性或有效性检查。

任何文件是

将被标记为 GENERATED 属性。

当作为 add_custom_command() 命令的 OUTPUT 创建的生成文件在同一目录范围(通常意味着相同的 CMakeLists.txt 文件)中显式列为任何目标的源文件时,CMake 将自动创建依赖项以确保在构建该目标之前生成该文件。

Makefile 生成器 将在 make clean 期间删除 GENERATED 文件。

生成的源文件可能在某些 IDE 工具中隐藏,而在另一些工具中可能会显示。对于 CMake 的 AUTOMOCAUTORCCAUTOUIC 功能生成的源文件的特殊情况,AUTOGEN_SOURCE_GROUPAUTOMOC_SOURCE_GROUPAUTORCC_SOURCE_GROUPAUTOUIC_SOURCE_GROUP 目标属性可能会影响生成的源文件在项目文件列表中的分组位置。