GetPrerequisites
Устарело начиная с версии 3.16: Используйте file(GET_RUNTIME_DEPENDENCIES) вместо этого.
Функции для анализа и перечисления файлов исполняемых файлов.
Этот модуль предоставляет функции для перечисления файлов .dll, .dylib или .so, от которых зависит исполняемый или общий файл библиотеки. (Его зависимости.)
Он использует различные инструменты для получения списка необходимых файлов общих библиотек:
dumpbin (Windows) objdump (MinGW on Windows) ldd (Linux/Unix) otool (Mac OSX)
Изменено в версии 3.16: Указанный инструмент CMAKE_OBJDUMP будет использоваться, если он установлен.
Этот модуль предоставляет следующие функции:
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
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...
Добавлено в версии 3.14: Переменная 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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.29/module/GetPrerequisites.html