Spec-Zone.ru › CMake 3.18

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, а <value> предоставляемый в командной строке, является относительным путем, то команда 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.14/command/set.html

Spec-Zone.ru

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