CMP0005

警告

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

预处理器定义值现在会自动转义。

此策略决定 CMake 是否应自动转义通过 add_definitions 添加的预处理器定义值。CMake 2.4 及更早版本假定 add_definitions 调用中的宏只会有简单的值。它不会尝试转义非简单值,例如生成构建规则中的字符串字面量。CMake 2.6 及更高版本支持对大多数值进行转义,但不能假定用户已经尝试添加转义来绕过早期版本的限制。

此策略的 OLD 行为是将提供给 add_definitions 的定义值直接放入生成的构建规则中,而不尝试进行任何转义。此策略的 NEW 行为是自动为所有原生构建工具生成正确的转义。有关转义实现限制的信息,请参阅 COMPILE_DEFINITIONS 目标属性的文档。

此策略在 CMake 2.6.0 版本中引入。在 CMake 4.0 版本移除之前,可以通过 cmake_policy()cmake_minimum_required() 进行设置。如果未设置,CMake 会发出警告并使用 OLD 行为。