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