CMP0005

预处理程序定义值现已自动转义。

此策略确定 CMake 是否应生成通过 add_definitions 添加的转义预处理程序定义值。CMake 版本 2.4 及更低版本假设仅为 add_definitions 调用中的宏提供微不足道的值。它不会尝试转义生成构建规则中的非微不足道的值,例如字符串文字。CMake 版本 2.6 及更高版本支持对大多数值的转义,但不能假定用户没有在尝试解决早期版本中的限制时已添加转义字符。

此策略的 OLD 行为是将传递给 add_definitions 的定义值直接置于生成的构建规则中,而无需尝试转义任何内容。此策略的 NEW 行为是自动为所有本机构建工具生成正确的转义字符。有关转义实现限制的信息,请参见 COMPILE_DEFINITIONS 目标属性的文档。

此策略在 CMake 版本 2.6.0 中引入。它可以由 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 会发出警告,并使用 OLD 行为。

注意

策略的 OLD 行为 根据定义已弃用,并且可能会在未来版本的 CMake 中删除。