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.
Usage:
cmake_dependent_option(<option> "<help_text>" <value> <depends> <force>)
Where <option>
is 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. Each element in the fourth parameter is evaluated as an if-condition, so Condition Syntax can be used.
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.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/module/CMakeDependentOption.html