Spec-Zone.ru › CMake 3.22

get_property

Получение свойства.

get_property(<variable>
             <GLOBAL             |
              DIRECTORY [<dir>]  |
              TARGET    <target> |
              SOURCE    <source>
                        [DIRECTORY <dir> | TARGET_DIRECTORY <target>] |
              INSTALL   <file>   |
              TEST      <test>   |
              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().

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

CACHE

Область видимости должна содержать имя одного элемента кэша.

VARIABLE

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

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

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

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

Примечание

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

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

Spec-Zone.ru

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