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 版本中被移除。