CMP0071¶
3.10 版本新增。
让 AUTOMOC 和 AUTOUIC 处理 GENERATED 文件。
自 3.10 版本起,CMake 会在 AUTOMOC 和 AUTOUIC 中处理 **常规** 和 GENERATED 源文件。在之前的 CMake 版本中,只处理 **常规** 源文件。GENERATED 源文件会被默默忽略。
此策略会影响 AUTOMOC 和 AUTOUIC 中 GENERATED 源文件的处理方式。
此策略的 OLD 行为是在 AUTOMOC 和 AUTOUIC 中忽略 GENERATED 源文件。
此策略的 NEW 行为是在 AUTOMOC 和 AUTOUIC 中像处理常规源文件一样处理 GENERATED 源文件。
注意
为了消除 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 版本中被移除。