summaryrefslogtreecommitdiffstats
path: root/Help/policy
diff options
context:
space:
mode:
authorNils Gladitz <nilsgladitz@gmail.com>2013-11-16 10:07:24 (GMT)
committerBrad King <brad.king@kitware.com>2013-11-19 14:44:22 (GMT)
commit3900fcf4a8eee24141e2d562c1b6b796b456c838 (patch)
tree5f0ffc818922b71848c91bb3fa29bcde63cacc93 /Help/policy
parent958367e10cee44d2dbce72f9393168746099ebd1 (diff)
downloadCMake-3900fcf4a8eee24141e2d562c1b6b796b456c838.zip
CMake-3900fcf4a8eee24141e2d562c1b6b796b456c838.tar.gz
CMake-3900fcf4a8eee24141e2d562c1b6b796b456c838.tar.bz2
CMP0037: Extend policy to reserved names and custom targets
Teach add_custom_target to check the policy too. Extend the policy to disallow reserved target names that we use for builtin targets like "all". Extend the RunCMake.CMP0037 test to cover these cases.
Diffstat (limited to 'Help/policy')
-rw-r--r--Help/policy/CMP0037.rst17
1 files changed, 11 insertions, 6 deletions
diff --git a/Help/policy/CMP0037.rst b/Help/policy/CMP0037.rst
index 5df3c00..059b2e6 100644
--- a/Help/policy/CMP0037.rst
+++ b/Help/policy/CMP0037.rst
@@ -1,19 +1,24 @@
CMP0037
-------
-Target names should match a validity pattern.
+Target names should not be reserved and 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
+CMake 2.8.12 and lower allowed creating targets using :command:`add_library`,
+:command:`add_executable` and :command:`add_custom_target` 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
+Target names reserved by one or more CMake generators are not allowed.
+Among others these include "all", "help" and "test".
+
+The OLD behavior for this policy is to allow creating targets with
+reserved names or 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