summaryrefslogtreecommitdiff
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-03-12 15:26:26 -0400
committerCMake Topic Stage <kwrobot@kitware.com>2015-03-12 15:26:26 -0400
commit7b185d50170366ae57c43295db788ea2038a858b (patch)
treec00b473bcbecb9be0dc55ae11fcd47d55de21439 /Help
parentaddf4db06cb3d4e7482ed54a12a21aaa9110f6a4 (diff)
parent242c396656783b1b3d542b14bc62710a46a87518 (diff)
downloadcmake-7b185d50170366ae57c43295db788ea2038a858b.tar.gz
Merge topic 'main_dependency_diagnostic'
242c3966 add_custom_command: Diagnose MAIN_DEPENDENCY limitation.
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-policies.7.rst1
-rw-r--r--Help/policy/CMP0057.rst21
-rw-r--r--Help/release/dev/main_dependency_diagnostic.rst6
3 files changed, 28 insertions, 0 deletions
diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index 96f39e66ed..76ca5d4edf 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -114,3 +114,4 @@ All Policies
/policy/CMP0054
/policy/CMP0055
/policy/CMP0056
+ /policy/CMP0057
diff --git a/Help/policy/CMP0057.rst b/Help/policy/CMP0057.rst
new file mode 100644
index 0000000000..5cf078470f
--- /dev/null
+++ b/Help/policy/CMP0057.rst
@@ -0,0 +1,21 @@
+CMP0057
+-------
+
+Disallow multiple ``MAIN_DEPENDENCY`` specifications for the same file.
+
+CMake 3.3 and above no longer allow the same input file to be used
+as a ``MAIN_DEPENDENCY`` in more than one custom command.
+
+Listing the same input file more than once in this context has not been
+supported by earlier versions either and would lead to build time issues
+but was not diagnosed.
+
+The ``OLD`` behavior for this policy is to allow using the same input file
+in a ``MAIN_DEPENDENCY`` specfication more than once.
+The ``NEW`` behavior is to disallow using the same input file in a
+``MAIN_DEPENDENCY`` specification more than once.
+
+This policy was introduced in CMake version 3.3.
+CMake version |release| warns when the policy is not set and uses
+``OLD`` behavior. Use the :command:`cmake_policy` command to set
+it to ``OLD`` or ``NEW`` explicitly.
diff --git a/Help/release/dev/main_dependency_diagnostic.rst b/Help/release/dev/main_dependency_diagnostic.rst
new file mode 100644
index 0000000000..13486efd53
--- /dev/null
+++ b/Help/release/dev/main_dependency_diagnostic.rst
@@ -0,0 +1,6 @@
+main_dependency_diagnostic
+--------------------------
+
+* Listing the same input file as a MAIN_DEPENDENCY of a custom command
+ can lead to broken build time behavior. This is now diagnosed.
+ See policy :policy:`CMP0057`.