summaryrefslogtreecommitdiff
path: root/Help/policy/CMP0005.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Help/policy/CMP0005.rst')
-rw-r--r--Help/policy/CMP0005.rst26
1 files changed, 26 insertions, 0 deletions
diff --git a/Help/policy/CMP0005.rst b/Help/policy/CMP0005.rst
new file mode 100644
index 000000000..66d125fb7
--- /dev/null
+++ b/Help/policy/CMP0005.rst
@@ -0,0 +1,26 @@
+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 cmake_policy command to set it to OLD or NEW explicitly.
+
+.. include:: DEPRECATED.txt