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