CMP0051

警告

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

在 3.1 版本中添加。

在 SOURCES 目标属性中列出 TARGET_OBJECTS

CMake 3.0 及更低版本在返回 SOURCES 目标属性时,不包含 TARGET_OBJECTS generator expression

配置时 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 行为。