Spec-Zone.ru › CMake 3.23

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

Spec-Zone.ru

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