Spec-Zone.ru › CMake 3.19

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

Spec-Zone.ru

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