CMP0127ΒΆ
New in version 3.22.
cmake_dependent_option() supports full Condition Syntax.
The <depends> parameter accepts a semicolon-separated list 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 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.
This policy was introduced in CMake version 3.22. CMake version
3.28.0-rc5 warns when the policy is not set and uses OLD behavior.
Use the cmake_policy() command to set it to OLD or NEW
explicitly.
Note
The OLD behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.