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) с полным или относительным путем. Каждый путь может ссылаться либо на каталог исходного кода, либо, начиная с CMake 3.19, на каталог двоичных файлов. Относительные пути рассматриваются относительно текущего каталога исходного кода. См. также команду
set_directory_properties(). -
TARGET -
Область может называть ноль или более существующих целевых объектов. См. также команду
set_target_properties(). -
SOURCE -
Область может называть ноль или более файлов исходного кода. По умолчанию, свойства файлов исходного кода видны только целевым объектам, добавленным в том же каталоге (
CMakeLists.txt). Видимость может быть установлена в других областях каталога, используя один или оба из следующих подвариантов:-
DIRECTORY <dirs>... -
Свойство файла исходного кода будет установлено в каждой из областей каталогов
<dirs>. Каждый путь может ссылаться либо на каталог исходного кода, либо, начиная с CMake 3.19, на каталог двоичных файлов. 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.19/command/set_property.html