CMakeDependentOption
Макрос, предоставляющий опцию, зависящую от других опций.
Этот макрос представляет пользователю опцию только в том случае, если набор других условий выполняется.
-
cmake_dependent_option -
cmake_dependent_option(<option> "<help_text>" <value> <depends> <force>)
Делает
<option>доступной пользователю, если все условия из списка, разделённого точкой с запятой в<depends>истинны. В противном случае, локальная переменная с именем<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, которая по умолчанию равна ВКЛ. В противном случае, она устанавливает USE_FOO в ВЫКЛ и скрывает опцию от пользователя. Если статус USE_BAR или USE_ZOT изменится, любое значение для опции USE_FOO сохраняется, чтобы при повторном включении опции оно сохраняло своё старое значение.
Новое в версии 3.22: Теперь поддерживается полная синтаксис условия. См. политику CMP0127.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.23/module/CMakeDependentOption.html