Spec-Zone.ru › CMake 3.9

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, расположения фреймворков, /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.9/module/GetPrerequisites.html

Spec-Zone.ru

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