Spec-Zone.ru › CMake 3.14

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…

Переменная GET_PREREQUISITES_VERBOSE может быть установлена в true для включения подробного вывода.

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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.14/module/GetPrerequisites.html

Spec-Zone.ru

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