CMP0051

警告

此策略的 OLD 行为已在 CMake 4.0 版本中移除。此策略必须通过调用 cmake_minimum_required()cmake_policy() 来设置为 NEW

版本 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 版本 4.0 中移除之前,可以通过 cmake_policy()cmake_minimum_required() 来设置。如果未设置,CMake 会发出警告并使用 OLD 行为。