CMP0054
-------

.. versionadded:: 3.1

Only interpret :command:`if` arguments as variables or keywords when unquoted.

CMake 3.1 and above no longer implicitly 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.

Given the following partial example:

::

  set(A E)
  set(E "")

  if("${A}" STREQUAL "")
    message("Result is TRUE before CMake 3.1 or when CMP0054 is OLD")
  else()
    message("Result is FALSE in CMake 3.1 and above if CMP0054 is NEW")
  endif()

After explicit expansion of variables this gives:

::

  if("E" STREQUAL "")

With the policy set to ``OLD`` implicit expansion reduces this semantically to:

::

  if("" STREQUAL "")

With the policy set to ``NEW`` the quoted arguments will not be
further dereferenced:

::

  if("E" STREQUAL "")

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.

.. include:: DEPRECATED.txt
