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.15/command/set.html