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>])
获取
3.14 版本中已添加: 可以将变量 GET_PREREQUISITES_VERBOSE 设置为 true 以启用详细信息输出。
LIST_PREREQUISITES(<target> [<recurse> [<exclude_system> [<verbose>]]])
打印一条消息,列出
LIST_PREREQUISITES_BY_GLOB(<glob_arg> <glob_exp>)
打印与全局模式匹配的共享库和可执行文件的先决条件。
提供的任何其他(可选)参数都会作为 list_prerequisites 调用的可选参数传递。
GP_APPEND_UNIQUE(<list_var> <value>)
如果
IS_FILE_EXECUTABLE(<file> <result_var>)
如果
GP_ITEM_DEFAULT_EMBEDDED_PATH(<item> <default_embedded_path_var>)
当项目嵌入在 bundle 中时,返回其他人应按此路径引用此项的路径。
通过提供一个特定于项目的 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>])
返回
如果需要,使用
可能的类型为
system
local
embedded
other
通过提供特定于项目的 gp_resolved_file_type_override 函数来根据每个项目进行覆盖。
GP_FILE_TYPE(<original_file> <file> <type_var>)
返回
可能的类型为
system
local
embedded
other