Spec-Zone.ru › CMake 3.31

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

Spec-Zone.ru

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