Spec-Zone.ru › CMake 3.16

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>])

Устанавливает Environment Variable заданному значению. Последующие вызовы $ENV{<variable>} вернут это новое значение.

Эта команда влияет только на текущий процесс CMake, а не на процесс, из которого был вызван CMake, не на общую системную среду, не на среду последующих процессов сборки или тестирования.

Если после ENV{<variable>} не указан аргумент или если <value> является пустой строкой, эта команда очистит любое существующее значение переменной среды.

Аргументы после <value> игнорируются. При обнаружении дополнительных аргументов выдаётся предупреждение автору.

© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.16/command/set.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API