CMP0051¶
在 3.1 版本中添加。
将在 SOURCES 目标属性中列出 TARGET_OBJECTS
。
CMake 3.0 及更低版本在返回 SOURCES
目标属性时不会包含 TARGET_OBJECTS
生成器 表达式
。
配置阶段的 CMake 代码无法处理生成器表达式。如果在配置阶段使用 SOURCES
目标属性,可能先要使用 string(GENEX_STRIP)
命令删除生成器表达式。生成阶段的 CMake 代码(如 file(GENERATE)
),能够在不删除的情况下处理内容。
此策略的 OLD
行为是从 SOURCES
目标属性中省略 TARGET_OBJECTS
表达式。此策略的 NEW
行为是在输出中包含 TARGET_OBJECTS
表达式。
此策略在 CMake 3.1 版本中引入。它可能由 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 会发出警告并使用 OLD
行为。
注释
策略的 OLD
行为 已被 定义 弃用
并且可能在未来的 CMake 版本中删除。