CMP0183
Added in version 4.0.
add_feature_info() supports full Condition Syntax.
The <condition> parameter accepts a semicolon-separated list of conditions. CMake 3.31 and lower evaluate each condition as if(${condition}), which does not properly handle conditions with nested paren groups. CMake 4.0 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 CMP0183 provides compatibility for projects that have not been updated to expect the new behavior.
This policy was introduced in CMake version 4.0. 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.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/policy/CMP0183.html