CMakeDependentOption¶
Macro to provide an option dependent on other options.
This macro presents an option to the user only if a set of other conditions are true.
-
cmake_dependent_option
¶ cmake_dependent_option(<option> "<help_text>" <value> <depends> <force>)
Makes
<option>
available to the user if<depends>
is true. When<option>
is available, the given<help_text>
and initial<value>
are used. If the<depends>
condition is not true,<option>
will not be presented and will always have the value given by<force>
. Any value set by the user is preserved for when the option is presented again. In case<depends>
is a semicolon-separated list, all elements must be true in order to initialize<option>
with<value>
.
Example invocation:
cmake_dependent_option(USE_FOO "Use Foo" ON "USE_BAR;NOT USE_ZOT" OFF)
If USE_BAR
is true and USE_ZOT
is false, this provides an option called
USE_FOO
that defaults to ON. Otherwise, it sets USE_FOO
to OFF and
hides the option from the user. If the status of USE_BAR
or USE_ZOT
ever changes, any value for the USE_FOO
option is saved so that when the
option is re-enabled it retains its old value.
New in version 3.22: Full Condition Syntax is now supported. See policy CMP0127
.