CMP0071¶
3.10 版本新增。
让 AUTOMOC 和 AUTOUIC 处理 GENERATED 文件。
从 3.10 版本开始,CMake 在 AUTOMOC 和 AUTOUIC 中处理 **常规** 和 GENERATED 源文件。在早期 CMake 版本中,只处理 **常规** 源文件。GENERATED 源文件会被静默忽略。
此策略会影响 AUTOMOC 和 AUTOUIC 中被 GENERATED 的源文件如何被处理。
此策略的 OLD 行为是 GENERATED 源文件在 AUTOMOC 和 AUTOUIC 中被忽略。
此策略的 NEW 行为是 GENERATED 源文件在 AUTOMOC 和 AUTOUIC 中被像常规源文件一样处理。
注意
为了消除 `CMP0071` 警告,可以通过设置源文件属性 SKIP_AUTOMOC、SKIP_AUTOUIC 或 SKIP_AUTOGEN 来将源文件从 AUTOMOC 和 AUTOUIC 处理中排除。
源文件跳过示例
# ...
set_property(SOURCE /path/to/file1.h PROPERTY SKIP_AUTOMOC ON)
set_property(SOURCE /path/to/file2.h PROPERTY SKIP_AUTOUIC ON)
set_property(SOURCE /path/to/file3.h PROPERTY SKIP_AUTOGEN ON)
# ...
此策略在 CMake 版本 3.10 中引入。可以通过 cmake_policy() 或 cmake_minimum_required() 设置。如果未设置,CMake 会发出警告并使用 OLD 行为。
注意
根据定义,策略的 OLD 行为是 已弃用,并可能在未来的 CMake 版本中被移除。