set_property
Установить свойство с заданным именем в заданном объёме.
set_property(<GLOBAL |
DIRECTORY [<dir>] |
TARGET [<target1> ...] |
SOURCE [<src1> ...]
[DIRECTORY <dirs> ...] |
[TARGET_DIRECTORY <targets> ...]
INSTALL [<file1> ...] |
TEST [<test1> ...] |
CACHE [<entry1> ...] >
[APPEND] [APPEND_STRING]
PROPERTY <name> [<value1> ...])
Устанавливает одно свойство для нуля или более объектов в объёме.
Первый аргумент определяет объём, в котором устанавливается свойство. Он должен быть одним из следующих:
-
GLOBAL -
Объём уникален и не принимает имя.
-
DIRECTORY -
Объём по умолчанию — текущая директория, но может быть указана другая директория (уже обработанная CMake) полным или относительным путём. См. также команду
set_directory_properties(). -
TARGET -
Объём может называть ноль или более существующих целей. См. также команду
set_target_properties(). -
SOURCE -
Объём может называть ноль или более исходных файлов. По умолчанию свойства исходных файлов видны только целям, добавленным в той же директории (
CMakeLists.txt). Видимость может быть установлена в других директориях с помощью одного или обоих следующих подвариантов:-
DIRECTORY <dirs>... -
Свойство исходного файла будет установлено в каждом из объёмов директорий
<dirs>. CMake должен уже знать об каждой из этих директорий исходных файлов, либо добавив их через вызовadd_subdirectory(), либо это являясь директорией исходных файлов верхнего уровня. Относительные пути обрабатываются как относительные к текущей директории исходных файлов. -
TARGET_DIRECTORY <targets>... -
Свойство исходного файла будет установлено в каждом из объёмов директорий, где были созданы любые указанные
<targets>. Директории<targets>должны, следовательно, уже существовать.
См. также команду
set_source_files_properties(). -
-
INSTALL -
Объём может называть ноль или более путей установленных файлов. Они предоставляются CPack для влияния на развертывание.
И ключ, и значение свойства могут использовать выражения генератора. Специфические свойства могут применяться к установленным файлам и/или директориям.
Компоненты пути должны быть разделены прямыми слешами, быть нормализованы и регистрозависимы.
Для ссылки на сам префикс установки с относительным путём используйте
..В настоящее время свойства установленных файлов определены только для генератора WIX, где указанные пути относительны к префиксу установки.
-
TEST -
Объём может называть ноль или более существующих тестов. См. также команду
set_tests_properties(). -
CACHE -
Объём должен называть ноль или более существующих записей кэша.
Требуемый PROPERTY параметр сразу же следует за именем свойства для установки. Остальные аргументы используются для составления значения свойства в виде списка, разделённого точкой с запятой.
Если указан параметр APPEND, список добавляется к любому существующему значению свойства (за исключением того, что пустые значения игнорируются и не добавляются). Если указан параметр APPEND_STRING, строка добавляется к любому существующему значению свойства как строка, т.е. она приводит к более длинной строке, а не к списку строк. При использовании APPEND или APPEND_STRING со свойством, определённым для поддержки поведения INHERITED (см. define_property()), наследование не происходит при поиске начального значения для добавления. Если свойство ещё не установлено непосредственно в указанном объёме, команда будет вести себя так, как будто APPEND или APPEND_STRING не были указаны.
См. руководство cmake-properties(7) для списка свойств в каждом объёме.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.18/command/set_property.html