Spec-Zone.ru › CMake 3.27

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().

Новое в версии 3.19: <dir> может ссылаться на каталог библиотек.

TARGET

Объём может указывать ноль или более существующих целей. Смотрите также команду set_target_properties().

Псевдонимы целей не поддерживают установку свойств целей.

SOURCE

Объём может указывать ноль или более исходных файлов. По умолчанию свойства исходных файлов видны только целям, добавленным в том же каталоге (CMakeLists.txt).

Новое в версии 3.18: Видимость можно задать в других объёмах каталогов, используя один или оба из следующих подвариантов:

DIRECTORY <dirs>...

Свойство исходного файла будет установлено в каждом из объёмов каталогов <dirs>. CMake должен уже знать об этих каталогах, либо добавив их через вызов add_subdirectory(), либо это каталог исходных файлов верхнего уровня. Относительные пути обрабатываются относительно текущего каталога исходных файлов.

Новое в версии 3.19: <dirs> может ссылаться на каталог библиотек.

TARGET_DIRECTORY <targets>...

Свойство исходного файла будет установлено в каждом из объёмов каталогов, где были созданы любые из указанных <targets> (каталоги <targets> должны поэтому уже существовать).

Смотрите также команду set_source_files_properties().

INSTALL

Новое в версии 3.1.

Объём может указывать ноль или более путей установленных файлов. Они предоставляются CPack для влияния на развертывание.

И ключ свойства, и значение могут использовать генераторские выражения. Конкретные свойства могут применяться к установленным файлам и/или каталогам.

Компоненты пути должны быть разделены слешами, быть нормализованными и чувствительными к регистру.

Для ссылки на сам префикс установки с относительным путём используйте ..

В настоящее время свойства установленных файлов определены только для генератора WIX, где заданные пути относительны к префиксу установки.

TEST

Объём ограничен каталогом, в котором вызывается команда. Он может указывать ноль или более существующих тестов. Смотрите также команду set_tests_properties().

Значения свойств тестов могут быть указаны с использованием generator expressions для тестов, созданных по add_test(NAME).

CACHE

Объём должен указывать ноль или более существующих записей кэша.

Обязательный параметр PROPERTY сразу за ним следует имя свойства для установки. Остальные аргументы используются для составления значения свойства в виде списка, разделённого точкой с запятой.

Если указан параметр APPEND, список добавляется к любому существующему значению свойства (за исключением того, что пустые значения игнорируются и не добавляются). Если указан параметр APPEND_STRING, строка добавляется к любому существующему значению свойства как строка, т. е. она приводит к более длинной строке, а не к списку строк. При использовании APPEND или APPEND_STRING со свойством, определённым для поддержки поведения INHERITED (см. define_property()), наследование не происходит при поиске начального значения для добавления. Если свойство ещё не установлено напрямую в указанном объёме, команда будет вести себя так, как будто APPEND или APPEND_STRING не были указаны.

Примечание

Свойство исходного файла GENERATED может быть глобально видимым. Смотрите его документацию для получения подробностей.

См. также

  • define_property()
  • get_property()
  • Справочник cmake-properties(7) для списка свойств в каждом объёме.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.27/command/set_property.html

Spec-Zone.ru

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