Spec-Zone.ru › CMake 3.21

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.21/command/get_property.html

Spec-Zone.ru

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