diff options
Diffstat (limited to 'Help')
-rw-r--r-- | Help/command/if.rst | 6 | ||||
-rw-r--r-- | Help/manual/cmake-policies.7.rst | 1 | ||||
-rw-r--r-- | Help/policy/CMP0054.rst | 18 | ||||
-rw-r--r-- | Help/release/dev/if-sanity.rst | 6 |
4 files changed, 31 insertions, 0 deletions
diff --git a/Help/command/if.rst b/Help/command/if.rst index a45b995..79e5d21 100644 --- a/Help/command/if.rst +++ b/Help/command/if.rst @@ -199,3 +199,9 @@ above-documented signature accepts ``<variable|string>``: * The left and right hand arguments to ``AND`` and ``OR`` are independently tested to see if they are boolean constants, if so they are used as such, otherwise they are assumed to be variables and are dereferenced. + +To prevent ambiguity, potential variable or keyword names can be +specified in a :ref:`Quoted Argument` or a :ref:`Bracket Argument`. +A quoted or bracketed variable or keyword will be interpreted as a +string and not dereferenced or interpreted. +See policy :policy:`CMP0054`. diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst index 136cf5c..f1717a0 100644 --- a/Help/manual/cmake-policies.7.rst +++ b/Help/manual/cmake-policies.7.rst @@ -105,3 +105,4 @@ All Policies /policy/CMP0051 /policy/CMP0052 /policy/CMP0053 + /policy/CMP0054 diff --git a/Help/policy/CMP0054.rst b/Help/policy/CMP0054.rst new file mode 100644 index 0000000..dffee5e --- /dev/null +++ b/Help/policy/CMP0054.rst @@ -0,0 +1,18 @@ +CMP0054 +------- + +Only interpret :command:`if` arguments as variables or keywords when unquoted. + +CMake 3.1 and above no longer dereference variables or interpret keywords +in an :command:`if` command argument when it is a :ref:`Quoted Argument` +or a :ref:`Bracket Argument`. + +The ``OLD`` behavior for this policy is to dereference variables and +interpret keywords even if they are quoted or bracketed. +The ``NEW`` behavior is to not dereference variables or interpret keywords +that have been quoted or bracketed. + +This policy was introduced in CMake version 3.1. +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/if-sanity.rst b/Help/release/dev/if-sanity.rst new file mode 100644 index 0000000..6645bc4 --- /dev/null +++ b/Help/release/dev/if-sanity.rst @@ -0,0 +1,6 @@ +if-sanity +--------- + +* The :command:`if` command no longer automatically dereferences + variables named in quoted or bracket arguments. See policy + :policy:`CMP0054`. |