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 行为。