summaryrefslogtreecommitdiffstats
path: root/Help/policy/CMP0037.rst
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/policy/CMP0037.rst
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/policy/CMP0037.rst')
-rw-r--r--Help/policy/CMP0037.rst21
1 files changed, 21 insertions, 0 deletions
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.