CMakeDependentOption
Макрос для предоставления параметра, зависящего от других параметров.
Этот макрос предоставляет параметр пользователю только если набор других условий верны.
Использование:
cmake_dependent_option(<option> "<help_text>" <value> <depends> <force>)
Где <option> доступно пользователю, если <depends> истинно. Когда <option> доступно, заданные <help_text> и начальные <value> используются. Если условие <depends> не истинно, <option> не будет представлено и всегда будет иметь значение, заданное <force>. Любое значение, установленное пользователем, сохраняется, когда параметр снова появляется. Каждый элемент в четвёртом параметре оценивается как условие if, поэтому можно использовать Синтаксис условия.
Пример вызова:
cmake_dependent_option(USE_FOO "Use Foo" ON
"USE_BAR;NOT USE_ZOT" OFF)
Если USE_BAR истинно, а USE_ZOT ложно, это предоставляет параметр под названием USE_FOO, который по умолчанию равен ВКЛЮЧЕНО. В противном случае устанавливает USE_FOO в ВЫКЛЮЧЕНО и скрывает параметр от пользователя. Если статус USE_BAR или USE_ZOT когда-либо изменится, любое значение параметра USE_FOO сохраняется, так что при повторном включении параметра он сохранит своё старое значение.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.20/module/CMakeDependentOption.html