Spec-Zone.ru › CMake

get_property

Получить свойство.

get_property(<variable>
             <GLOBAL                                                  |
              DIRECTORY [<dir>]                                       |
              TARGET    <target>                                      |
              FILE_SET  <file_set> TARGET <target>                    |
              SOURCE    <source>
                        [DIRECTORY <dir> | TARGET_DIRECTORY <target>] |
              INSTALL   <file>                                        |
              TEST      <test>
                        [DIRECTORY <dir>]                             |
              CACHE     <entry>                                       |
              VARIABLE>
             PROPERTY <name>
             [SET | DEFINED | BRIEF_DOCS | FULL_DOCS])

Получает одно свойство одного объекта в области видимости.

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

GLOBAL

Область видимости уникальна, имя не принимается.

DIRECTORY

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

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

TARGET

Область видимости должна указывать на существующую цель. См. также команду get_target_property().

FILE_SET

Добавлено в версии 4.3.

Область видимости должна указывать на существующий набор файлов.

Необходим следующий параметр:

TARGET <target>

Цель, к которой прикреплён набор файлов.

SOURCE

Область видимости должна указывать на исходный файл. По умолчанию свойство исходного файла считывается из области видимости текущего исходного каталога.

Добавлено в версии 3.18: Область видимости каталога может быть переопределена одним из следующих дополнительных параметров:

DIRECTORY <dir>

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

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

TARGET_DIRECTORY <target>

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

См. также команду get_source_file_property().

INSTALL

Добавлено в версии 3.1.

Область видимости должна указывать на путь к установленному файлу.

TEST

Область видимости должна указывать на существующий тест. См. также команду get_test_property().

Добавлено в версии 3.28: Область видимости каталога можно переопределить с помощью следующего дополнительного параметра:

DIRECTORY <dir>

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

CACHE

Область видимости должна указывать на запись в кэше.

VARIABLE

Область видимости уникальна, имя не принимается.

После обязательного параметра PROPERTY сразу указывается имя свойства, которое нужно получить. Если свойство не задано, при возврате из команды именованная переменная <variable> будет удалена в вызывающей области видимости, хотя некоторые свойства поддерживают наследование из родительской области видимости, если для них задано такое поведение (см. define_property()).

Если указан параметр SET, переменной присваивается логическое значение, указывающее, задано ли свойство. Если указан параметр DEFINED, переменной присваивается логическое значение, указывающее, определено ли свойство, например, с помощью команды define_property().

Если указан BRIEF_DOCS или FULL_DOCS, переменной присваивается строка с документацией для запрошенного свойства. Если документация запрошена для неопределённого свойства, возвращается NOTFOUND.

Примечание

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

См. также

  • define_property()
  • set_property()

© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/command/get_property.html

Spec-Zone.ru

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