summaryrefslogtreecommitdiff
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-11-22 14:48:20 -0500
committerBrad King <brad.king@kitware.com>2021-11-22 14:55:36 -0500
commitc44636a89b93c6c024d8aa318f932beec0453db4 (patch)
treec398c0175f55fb19cf0c09249d77b9589e336907 /Help
parentdeb9b076368512c1c7c391706f6f9e21cfb473f3 (diff)
downloadcmake-c44636a89b93c6c024d8aa318f932beec0453db4.tar.gz
Help: Document more use cases for CMAKE_POLICY_DEFAULT_CMPNNNN
Diffstat (limited to 'Help')
-rw-r--r--Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst19
1 files changed, 13 insertions, 6 deletions
diff --git a/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst b/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
index 43582be94d..d643fb8df1 100644
--- a/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
+++ b/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst
@@ -9,9 +9,16 @@ the given version unset. Set ``CMAKE_POLICY_DEFAULT_CMP<NNNN>`` to ``OLD``
or ``NEW`` to specify the default for policy ``CMP<NNNN>``, where ``<NNNN>``
is the policy number.
-This variable should not be set by a project in CMake code; use
-:command:`cmake_policy(SET)` instead. Users running CMake may set this
-variable in the cache (e.g. ``-DCMAKE_POLICY_DEFAULT_CMP<NNNN>=<OLD|NEW>``)
-to set a policy not otherwise set by the project. Set to ``OLD`` to quiet a
-policy warning while using old behavior or to ``NEW`` to try building the
-project with new behavior.
+This variable should not be set by a project in CMake code as a way to
+set its own policies; use :command:`cmake_policy(SET)` instead. This
+variable is meant to externally set policies for which a project has
+not itself been updated:
+
+* Users running CMake may set this variable in the cache
+ (e.g. ``-DCMAKE_POLICY_DEFAULT_CMP<NNNN>=<OLD|NEW>``). Set it to ``OLD``
+ to quiet a policy warning while using old behavior or to ``NEW`` to
+ try building the project with new behavior.
+
+* Projects may set this variable before a call to :command:`add_subdirectory`
+ that adds a third-party project in order to set its policies without
+ modifying third-party code.