CMP0127

Added 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. It may be set by cmake_policy() or cmake_minimum_required(). If it is not set, CMake warns, and uses OLD behavior.

Note

The OLD behavior of a policy is deprecated by definition and may be removed in a future version of CMake.