CMP0005

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

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

此策略的“旧”行为是将赋予 add_definitions 的定义值直接放置在生成的构建规则中,而不尝试转义任何内容。此策略的“新”行为是自动为所有本机构建工具生成正确的转义符。有关转义实现的限制,请参阅“COMPILE_DEFINITIONS”目标属性的文档。

此策略是在 CMake 版本 2.6.0 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLDNEW

备注

策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。