summaryrefslogtreecommitdiffstats
path: root/Source/cmPolicies.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-03-13 21:11:57 (GMT)
committerBrad King <brad.king@kitware.com>2008-03-13 21:11:57 (GMT)
commit9a83ce6efc10d5d51324f8b425213f18b0325b6e (patch)
treee7e76eb24a2b5f2c254b22a6da5146f726203ee8 /Source/cmPolicies.cxx
parenta0ef9897159c2b64383ab1d3aa33fd43fec632d7 (diff)
downloadCMake-9a83ce6efc10d5d51324f8b425213f18b0325b6e.zip
CMake-9a83ce6efc10d5d51324f8b425213f18b0325b6e.tar.gz
CMake-9a83ce6efc10d5d51324f8b425213f18b0325b6e.tar.bz2
ENH: Add policy CMP0005 to decide whether add_definitions should escape defs.
Diffstat (limited to 'Source/cmPolicies.cxx')
-rw-r--r--Source/cmPolicies.cxx21
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx
index ffe4554..872de47 100644
--- a/Source/cmPolicies.cxx
+++ b/Source/cmPolicies.cxx
@@ -216,6 +216,27 @@ cmPolicies::cmPolicies()
"that in effect when the target is created by an add_executable or "
"add_library command.",
2,6,0, cmPolicies::WARN);
+
+ this->DefinePolicy(
+ CMP0005, "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.\n"
+ "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.",
+ 2,6,0, cmPolicies::WARN);
}
cmPolicies::~cmPolicies()