set
Установить переменную обычного типа, кеша или окружения заданному значению. Смотрите документацию cmake-language(7) variables для области действия и взаимодействия обычных переменных и записей кеша.
Подписи этой команды, которые указывают заполнитель <value>..., ожидают ноль или более аргументов. Несколько аргументов будут объединены как ;-список для формирования фактического значения переменной, подлежащей установке. Ноль аргументов приведет к отмене обычных переменных. Смотрите команду unset() для явного отмены переменных.
Установить переменную обычного типа
set(<variable> <value>... [PARENT_SCOPE])
Установите заданную <variable> в текущей области функции или каталога.
Если указан параметр PARENT_SCOPE, переменная будет установлена в области, расположенной над текущей областью. Каждый новый каталог или функция создают новую область. Эта команда установит значение переменной в родительский каталог или вызывающую функцию (в зависимости от рассматриваемого случая). Предыдущее состояние значения переменной остается неизменным в текущей области (например, если она была неопределена ранее, она остается неопределенной, и если у нее было значение, оно остается этим значением).
Установить запись кеша
set(<variable> <value>... CACHE <type> <docstring> [FORCE])
Установите заданную запись кеша <variable> (запись кеша). Поскольку записи кеша предназначены для предоставления пользовательских значений, по умолчанию существующие записи кеша не перезаписываются. Используйте параметр FORCE для перезаписи существующих записей.
<type> должен быть указан как:
-
BOOL - Логическое
ON/OFFзначение.cmake-gui(1)предлагает флажок. -
FILEPATH - Путь к файлу на диске.
cmake-gui(1)предлагает диалог выбора файла. -
PATH - Путь к каталогу на диске.
cmake-gui(1)предлагает диалог выбора файла. -
STRING - Строка текста.
cmake-gui(1)предлагает текстовое поле или раскрывающийся список, если свойство записи кешаSTRINGSустановлено. -
INTERNAL - Строка текста.
cmake-gui(1)не отображает внутренние записи. Они могут использоваться для постоянного хранения переменных между запусками. Использование этого типа подразумеваетFORCE.
<docstring> должен быть указан как строка текста, предоставляющая краткое описание параметра для отображения пользователям cmake-gui(1).
Если запись кеша не существует до вызова или указан параметр FORCE, запись кеша будет установлена заданным значением. Кроме того, любое связывание обычной переменной в текущей области будет удалено, чтобы предоставить доступ к новому сохраненному значению для любого последующего вычисления.
Возможно, запись кеша существует до вызова, но тип не установлен, если она была создана в команде cmake(1) пользователем с помощью параметра -D<var>=<value> без указания типа. В этом случае команда set добавит тип. Кроме того, если <type> является PATH или FILEPATH, а предоставленный в командной строке <value> — это относительный путь, команда set будет обрабатывать путь как относительный к текущему рабочему каталогу и преобразовывать его в абсолютный путь.
Установить переменную окружения
set(ENV{<variable>} <value>...)
Установите текущую переменную процесса <variable> заданному значению.
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.11/command/set.html