Spec-Zone.ru › CMake 3.26

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–2023 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.26/command/set_property.html

Spec-Zone.ru

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