Spec-Zone.ru › CMake

get_property

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

get_property(<variable>
             <GLOBAL             |
              DIRECTORY [<dir>]  |
              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().

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–2024 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