summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2020-05-28 12:52:57 (GMT)
committerBrad King <brad.king@kitware.com>2020-05-28 16:56:59 (GMT)
commit1eca5993e21eeefa8a0c8d4e41b559c1d32c495a (patch)
tree224acb0649ebc5e8198b311950f7f30da4c606f0 /Help
parent04b9b2b5f363d792719238046a18aac867be3254 (diff)
downloadCMake-1eca5993e21eeefa8a0c8d4e41b559c1d32c495a.zip
CMake-1eca5993e21eeefa8a0c8d4e41b559c1d32c495a.tar.gz
CMake-1eca5993e21eeefa8a0c8d4e41b559c1d32c495a.tar.bz2
ALIAS target: cannot overwrite an existing target
Fixes: #19616
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-policies.7.rst1
-rw-r--r--Help/policy/CMP0107.rst19
-rw-r--r--Help/release/dev/alias-overwrite.rst5
3 files changed, 25 insertions, 0 deletions
diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index 3f3b70d..8d41ed8 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -57,6 +57,7 @@ Policies Introduced by CMake 3.18
.. toctree::
:maxdepth: 1
+ CMP0107: An ALIAS target cannot overwrite another target. </policy/CMP0107>
CMP0106: The Documentation module is removed. </policy/CMP0106>
CMP0105: Device link step uses the link options. </policy/CMP0105>
CMP0104: CMAKE_CUDA_ARCHITECTURES now detected for NVCC, empty CUDA_ARCHITECTURES not allowed. </policy/CMP0104>
diff --git a/Help/policy/CMP0107.rst b/Help/policy/CMP0107.rst
new file mode 100644
index 0000000..111bef7
--- /dev/null
+++ b/Help/policy/CMP0107.rst
@@ -0,0 +1,19 @@
+CMP0107
+-------
+
+It is not allowed to create an ``ALIAS`` target with the same name as an
+another target.
+
+In CMake 3.17 and below, an ``ALIAS`` target can overwrite silently an existing
+target with the same name.
+
+The ``OLD`` behavior for this policy is to allow target overwrite.
+
+The ``NEW`` behavior of this policy is to prevent target overwriting.
+
+This policy was introduced in CMake version 3.17. Use the
+:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
+Unlike many policies, CMake version |release| does *not* warn
+when this policy is not set and simply uses ``OLD`` behavior.
+
+.. include:: DEPRECATED.txt
diff --git a/Help/release/dev/alias-overwrite.rst b/Help/release/dev/alias-overwrite.rst
new file mode 100644
index 0000000..907e630
--- /dev/null
+++ b/Help/release/dev/alias-overwrite.rst
@@ -0,0 +1,5 @@
+alias-overwrite
+---------------
+
+* Creation of an ``ALIAS`` target overwriting an existing target now raise an
+ error. See policy :policy:`CMP0107`.