Spec-Zone.ru › CMake

set_property

Устанавливает именованное свойство в заданном объёме.

set_property(<GLOBAL                      |
              DIRECTORY [<dir>]           |
              TARGET    [<target1> ...]   |
              SOURCE    [<src1> ...]
                        [DIRECTORY <dirs> ...]
                        [TARGET_DIRECTORY <targets> ...] |
              INSTALL   [<file1> ...]     |
              TEST      [<test1> ...]
                        [DIRECTORY <dir>] |
              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).

Добавлена в версии 3.28: Видимость может быть установлена в других областях директорий, используя следующий подвариант:

DIRECTORY <dir>

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

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/latest/command/set_property.html

Spec-Zone.ru

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