Spec-Zone.ru › CMake 3.6

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.6/module/GetPrerequisites.html

Spec-Zone.ru

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