CMP0005
Preprocessor definition values are now escaped automatically.
This policy determines whether or not CMake should generate escaped preprocessor definition values added via add_definitions. CMake versions 2.4 and below assumed that only trivial values would be given for macros in add_definitions calls. It did not attempt to escape non-trivial values such as string literals in generated build rules. CMake versions 2.6 and above support escaping of most values, but cannot assume the user has not added escapes already in an attempt to work around limitations in earlier versions.
The OLD
behavior for this policy is to place definition values given to add_definitions directly in the generated build rules without attempting to escape anything. The NEW
behavior for this policy is to generate correct escapes for all native build tools automatically. See documentation of the COMPILE_DEFINITIONS
target property for limitations of the escaping implementation.
This policy was introduced in CMake version 2.6.0. CMake version 3.15.7 warns when the policy is not set and uses OLD
behavior. Use the cmake_policy()
command to set it to OLD
or NEW
explicitly.
Note
The OLD
behavior of a policy is deprecated by definition
and may be removed in a future version of CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.15/policy/CMP0005.html