Spec-Zone.ru › CMake 3.12

GetPrerequisites

Функции для анализа и вывода предварительных требований к исполняемым файлам.

Этот модуль предоставляет функции для вывода списка файлов .dll, .dylib или .so, от которых зависит исполняемый или динамически подключаемый файл. (Его предварительные требования.)

Он использует различные инструменты для получения списка необходимых файлов динамической библиотеки:

dumpbin (Windows)
objdump (MinGW on Windows)
ldd (Linux/Unix)
otool (Mac OSX)

Данный модуль предоставляет следующие функции:

get_prerequisites
list_prerequisites
list_prerequisites_by_glob
gp_append_unique
is_file_executable
gp_item_default_embedded_path
  (projects can override with gp_item_default_embedded_path_override)
gp_resolve_item
  (projects can override with gp_resolve_item_override)
gp_resolved_file_type
  (projects can override with gp_resolved_file_type_override)
gp_file_type

Требуется CMake 2.6 или более поздней версии, так как он использует функции, операторы break, return и PARENT_SCOPE.

GET_PREREQUISITES(<target> <prerequisites_var> <exclude_system> <recurse>
                  <exepath> <dirs> [<rpaths>])

Получить список файлов динамических библиотек, необходимых для <target>. Список в переменной с именем <prerequisites_var> должен быть пустым при первом вызове этой функции. При выходе <prerequisites_var> будет содержать список необходимых файлов динамической библиотеки.

<target> — это полный путь к исполняемому файлу. <prerequisites_var> — имя переменной CMake для хранения результатов. <exclude_system> должно быть 0 или 1, указывающее, следует ли включать или исключать «системные» предварительные требования. Если <recurse> установлено в 1, все предварительные требования будут найдены рекурсивно, если установлено в 0, будут отображены только непосредственные предварительные требования. <exepath> — путь к исполняемому файлу верхнего уровня, используемый для замены @executable_path на Mac. <dirs> — список путей, где могут быть найдены библиотеки: эти пути проверяются в первую очередь, когда задан целевой объект без информации о пути. Затем также проверяются стандартные системные расположения: PATH, расположения Framework, /usr/lib…

LIST_PREREQUISITES(<target> [<recurse> [<exclude_system> [<verbose>]]])

Вывести сообщение, перечисляющее предварительные требования к <target>.

<target> — имя целевого объекта динамической библиотеки или исполняемого файла или полный путь к файлу динамической библиотеки или исполняемому файлу. Если <recurse> установлено в 1, все предварительные требования будут найдены рекурсивно, если установлено в 0, будут отображены только непосредственные предварительные требования. <exclude_system> должно быть 0 или 1, указывающее, следует ли включать или исключать «системные» предварительные требования. При установке <verbose> в 0 выводятся только полные пути к предварительным требованиям, при установке в 1 отображается дополнительная информация.

LIST_PREREQUISITES_BY_GLOB(<glob_arg> <glob_exp>)

Вывести предварительные требования к файлам динамической библиотеки и исполняемым файлам, соответствующим шаблону сопоставления. <glob_arg> — GLOB или GLOB_RECURSE, а <glob_exp> — выражение сопоставления, используемое с «file(GLOB» или «file(GLOB_RECURSE» для получения списка соответствующих файлов. Если соответствующий файл является исполняемым, выводятся его предварительные требования.

Любые дополнительные (необязательные) аргументы передаются как необязательные аргументы в вызовы list_prerequisites.

GP_APPEND_UNIQUE(<list_var> <value>)

Добавить <value> в список переменных <list_var>, только если значение еще не находится в списке.

IS_FILE_EXECUTABLE(<file> <result_var>)

Возвращает 1 в <result_var>, если <file> — это исполняемый двоичный файл, в противном случае — 0.

GP_ITEM_DEFAULT_EMBEDDED_PATH(<item> <default_embedded_path_var>)

Возвращает путь, по которому другие должны ссылаться на элемент, когда элемент вложен внутри пакета.

Переопределение на уровне проекта путем предоставления функции gp_item_default_embedded_path_override, специфичной для проекта.

GP_RESOLVE_ITEM(<context> <item> <exepath> <dirs> <resolved_item_var>
                [<rpaths>])

Разрешить элемент в существующий полный путь файла.

Переопределение на уровне проекта путем предоставления функции gp_resolve_item_override, специфичной для проекта.

GP_RESOLVED_FILE_TYPE(<original_file> <file> <exepath> <dirs> <type_var>
                      [<rpaths>])

Возвращает тип <file> по отношению к <original_file>. Строка, описывающая тип предварительного требования, возвращается в переменной с именем <type_var>.

Используйте <exepath> и <dirs>, если необходимо, для разрешения значений <file>, не являющихся абсолютными — но только для элементов, не вложенных в пакет.

Возможные типы:

system
local
embedded
other

Переопределение на уровне проекта путем предоставления функции gp_resolved_file_type_override, специфичной для проекта.

GP_FILE_TYPE(<original_file> <file> <type_var>)

Возвращает тип <file> по отношению к <original_file>. Строка, описывающая тип предварительного требования, возвращается в переменной с именем <type_var>.

Возможные типы:

system
local
embedded
other

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.12/module/GetPrerequisites.html

Spec-Zone.ru

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