https://github.com/Kitware/CMake
Raw File
Tip revision: 22612dd53a46c7f9b4c3f4b7dbe5c78f9afd9581 authored by Brad King on 15 March 2021, 13:39:14 UTC
CMake 3.19.7
Tip revision: 22612dd
CMP0005.rst
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
|release| warns when the policy is not set and uses ``OLD`` behavior.  Use
the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.

.. include:: DEPRECATED.txt
back to top