CMP0112¶
在 3.19 版本加入.
目标文件组件生成器表达式不添加目标依赖项。
以下查询目录或文件名组件的基于目标的生成器表达式不再添加对评估目标的依赖性。
TARGET_FILE_NAME
TARGET_FILE_DIR
TARGET_LINKER_FILE_BASE_NAME
TARGET_LINKER_FILE_NAME
TARGET_LINKER_FILE_DIR
TARGET_SONAME_FILE_NAME
TARGET_SONAME_FILE_DIR
TARGET_PDB_FILE_NAME
TARGET_PDB_FILE_DIR
TARGET_BUNDLE_DIR
TARGET_BUNDLE_DIR_NAME
TARGET_BUNDLE_CONTENT_DIR
在 CMake 3.18 及更低版本中,将始终添加对上述生成器表达式的评估目标的依赖。 CMake 3.19 及更高版本倾向于不添加此依赖项。此策略为尚未更新以期待新行为的项目提供兼容性。策略设置在创建目标时记录在每个目标上,并决定引用该目标的生成器表达式是否暗示对它的依赖。
此策略的“旧”行为是为上述生成器表达式添加对评估目标的依赖。此策略的“新”行为是不为上述生成器表达式添加对评估目标的依赖。
此策略是在 CMake 版本 3.19 中引入的。与许多政策不同,CMake 版本 |release|当此策略未设置且仅使用“旧”行为时,默认情况下*不*发出警告。请参阅 CMAKE_POLICY_WARNING_CMP0112 变量的文档以控制警告。
备注
策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。