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