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