CMakeDependentOption¶
提供依赖于其他选项的选项的宏。
仅当一组其他条件为真时,此宏才会向用户提供一个选项。
- cmake_dependent_option¶
cmake_dependent_option(<option> "<help_text>" <value> <depends> <force>)
如果
<depends>中条件的分号分隔列表 <CMake Language Lists>` 全部为真,则使<option>对用户可用。否则,名为“<option>”的局部变量将设置为“<force>”。当``<option>`` 可用时,使用给定的``<help_text>`` 和初始的``<value>``。否则,将保留用户设置的任何值,以供将来满足 <depends> 时使用。
请注意,
<option>变量只有一个值满足调用者范围内的``<depends>`` 条件,因为它是一个局部变量。
调用示例:
cmake_dependent_option(USE_FOO "Use Foo" ON "USE_BAR;NOT USE_ZOT" OFF)
如果 USE_BAR 为真而 USE_ZOT 为假,这提供了一个名为 USE_FOO 的选项,默认为 ON。否则,它会将 USE_FOO 设置为 OFF 并向用户隐藏该选项。如果 USE_BAR 或 USE_ZOT 的状态发生变化,则 USE_FOO 选项的任何值都会被保存,以便在重新启用该选项时保留其旧值。
在 3.22 版本加入: 现在支持完整的 条件语法。请参阅政策:policy:CMP0127。