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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/module/CMakeDependentOption.html