mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 12:49:36 -06:00
Every policy's documentation has a paragraph on what version of CMake introduced it, how to set the policy, and whether CMake warns if the policy is not set. The wording of this paragraph has diverged across policies over time. Factor the paragraph out into a standard advice document included by every policy.
34 lines
986 B
ReStructuredText
34 lines
986 B
ReStructuredText
CMP0127
|
|
-------
|
|
|
|
.. versionadded:: 3.22
|
|
|
|
:command:`cmake_dependent_option` supports full :ref:`Condition Syntax`.
|
|
|
|
The ``<depends>`` parameter accepts a :ref:`semicolon-separated list <CMake
|
|
Language Lists>` of conditions. CMake 3.21 and lower evaluates each
|
|
``condition`` as ``if(${condition})``, which does not properly handle
|
|
conditions with nested paren groups. CMake 3.22 and above instead prefer
|
|
to evaluate each ``condition`` as ``if(<condition>)``, where ``<condition>``
|
|
is re-parsed as if literally written in a call to :command:`if`. This
|
|
allows expressions like::
|
|
|
|
"A AND (B OR C)"
|
|
|
|
but requires expressions like::
|
|
|
|
"FOO MATCHES (UPPER|lower)"
|
|
|
|
to be re-written as::
|
|
|
|
"FOO MATCHES \"(UPPER|lower)\""
|
|
|
|
Policy ``CMP0127`` provides compatibility for projects that have not
|
|
been updated to expect the new behavior.
|
|
|
|
.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.22
|
|
.. |WARNS_OR_DOES_NOT_WARN| replace:: warns
|
|
.. include:: STANDARD_ADVICE.txt
|
|
|
|
.. include:: DEPRECATED.txt
|