set
Установить переменную обычного типа, кэша или среды заданному значению. См. документацию cmake-language(7) переменные для области действия и взаимодействия обычных переменных и записей кэша.
Подписи этой команды, которые указывают <value>... placeholder, ожидают ноль или более аргументов. Несколько аргументов будут объединены как ;-список для формирования фактического значения устанавливаемой переменной. Ноль аргументов приведет к тому, что обычные переменные будут удалены. См. команду 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.12/command/set.html