From c44636a89b93c6c024d8aa318f932beec0453db4 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 22 Nov 2021 14:48:20 -0500 Subject: Help: Document more use cases for CMAKE_POLICY_DEFAULT_CMPNNNN --- Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst b/Help/variable/CMAKE_POLICY_DEFAULT_CMPNNNN.rst index 43582be..d643fb8 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`` to ``OLD`` or ``NEW`` to specify the default for policy ``CMP``, where ```` 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=``) -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=``). 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. -- cgit v0.12 From 5b1c24255f3ca2404134d2fd9270d2edc0801bdd Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 22 Nov 2021 14:48:36 -0500 Subject: Help: Suggest CMAKE_POLICY_DEFAULT_CMP0077 in CMP0077 docs Issue: #20490 --- Help/policy/CMP0077.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Help/policy/CMP0077.rst b/Help/policy/CMP0077.rst index d8744a9..482125a 100644 --- a/Help/policy/CMP0077.rst +++ b/Help/policy/CMP0077.rst @@ -53,6 +53,8 @@ between the two policies. This policy was introduced in CMake version 3.13. 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. +explicitly within a project. Use the :variable:`CMAKE_POLICY_DEFAULT_CMP0077 +>` variable to set the policy for +a third-party project in a subdirectory without modifying it. .. include:: DEPRECATED.txt -- cgit v0.12 From 69b70968bd1a90eaf41c55b61604874cfebfd345 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 22 Nov 2021 14:57:04 -0500 Subject: Help: Suggest CMAKE_POLICY_DEFAULT_CMP0126 in CMP0126 docs --- Help/policy/CMP0126.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Help/policy/CMP0126.rst b/Help/policy/CMP0126.rst index ba027b3..1b69957 100644 --- a/Help/policy/CMP0126.rst +++ b/Help/policy/CMP0126.rst @@ -22,7 +22,10 @@ will *not* set the cache variable if a non-cache variable of the same name already exists and :policy:`CMP0077` is set to ``NEW``. Policy ``CMP0126`` was introduced in CMake version 3.21. Use the -:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly. +:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly +within a project. Use the :variable:`CMAKE_POLICY_DEFAULT_CMP0126 +>` variable to set the policy for +a third-party project in a subdirectory without modifying it. Unlike many policies, CMake version |release| does *not* warn when the policy is not set and simply uses ``OLD`` behavior. See documentation of the :variable:`CMAKE_POLICY_WARNING_CMP0126 >` -- cgit v0.12