summaryrefslogtreecommitdiff
path: root/Help/policy/CMP0002.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Help/policy/CMP0002.rst')
-rw-r--r--Help/policy/CMP0002.rst28
1 files changed, 28 insertions, 0 deletions
diff --git a/Help/policy/CMP0002.rst b/Help/policy/CMP0002.rst
new file mode 100644
index 000000000..7cc53efa1
--- /dev/null
+++ b/Help/policy/CMP0002.rst
@@ -0,0 +1,28 @@
+CMP0002
+-------
+
+Logical target names must be globally unique.
+
+Targets names created with add_executable, add_library, or
+add_custom_target are logical build target names. Logical target
+names must be globally unique because:
+
+::
+
+ - Unique names may be referenced unambiguously both in CMake
+ code and on make tool command lines.
+ - Logical names are used by Xcode and VS IDE generators
+ to produce meaningful project names for the targets.
+
+The logical name of executable and library targets does not have to
+correspond to the physical file names built. Consider using the
+OUTPUT_NAME target property to create two targets with the same
+physical name while keeping logical names distinct. Custom targets
+must simply have globally unique names (unless one uses the global
+property ALLOW_DUPLICATE_CUSTOM_TARGETS with a Makefiles generator).
+
+This policy was introduced in CMake version 2.6.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.
+
+.. include:: DEPRECATED.txt