Spec-Zone.ru › CMake 3.20

set

Устанавливает обычную, кэшированную или переменную среды заданному значению. См. документацию cmake-language(7) variables для определения областей видимости и взаимодействия обычных переменных и записей кэша.

Подписи этой команды, которые указывают на <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>])

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

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

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

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

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

Spec-Zone.ru

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