summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-11-05 16:32:30 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-11-07 10:06:39 (GMT)
commit05f5fde0eb83c0e49aab3214f28a098861aa3313 (patch)
treebf2a838e3b1489805abed701703df62224572702 /Help
parent18985f6c2926725b08f5941205fe21c344c4b3ea (diff)
downloadCMake-05f5fde0eb83c0e49aab3214f28a098861aa3313.zip
CMake-05f5fde0eb83c0e49aab3214f28a098861aa3313.tar.gz
CMake-05f5fde0eb83c0e49aab3214f28a098861aa3313.tar.bz2
Disallow invalid target names (#13140)
Exclude Borland and NMake from the CMP0037 test. They do not accept the colon in a target name.
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-policies.7.rst1
-rw-r--r--Help/policy/CMP0037.rst21
2 files changed, 22 insertions, 0 deletions
diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index 5879a30..addd2a7 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -70,3 +70,4 @@ All Policies
/policy/CMP0034
/policy/CMP0035
/policy/CMP0036
+ /policy/CMP0037
diff --git a/Help/policy/CMP0037.rst b/Help/policy/CMP0037.rst
new file mode 100644
index 0000000..5df3c00
--- /dev/null
+++ b/Help/policy/CMP0037.rst
@@ -0,0 +1,21 @@
+CMP0037
+-------
+
+Target names should match a validity pattern.
+
+CMake 2.8.12 and lower allowed creating targets using :command:`add_library` and
+:command:`add_executable` with unrestricted choice for the target name. Newer
+cmake features such as :manual:`cmake-generator-expressions(7)` and some
+diagnostics expect target names to match a restricted pattern.
+
+Target names may contain upper and lower case letters, numbers, the underscore
+character (_), dot(.), plus(+) and minus(-). As a special case, ALIAS
+targets and INTERFACE library targets may contain two consequtive colons.
+
+The OLD behavior for this policy is to allow creating targets which do not match
+the validity pattern. The NEW behavior for this policy is to report an error
+if an add_* command is used with an invalid target name.
+
+This policy was introduced in CMake version 3.0.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.