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