summaryrefslogtreecommitdiffstats
path: root/Help/policy/CMP0037.rst
diff options
context:
space:
mode:
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.