CMakeExpandImportedTargets¶
已弃用,自版本 3.4 起: 此模块不应再使用。
它曾用于替换 导入的目标 为其在磁盘上引用的底层库,以便与 try_compile()
和 try_run()
命令一起使用。这些命令现在在其 LINK_LIBRARIES
选项中支持导入的目标(对于 try_compile()
命令自 CMake 2.8.11 起,对于 try_run()
命令自 CMake 3.2 起)。
在 CMake 项目中加载此模块,使用
include(CMakeExpandImportedTargets)
注意
此模块不支持策略 CMP0022
NEW
行为,也不使用 INTERFACE_LINK_LIBRARIES
属性,因为 生成器表达式
无法在配置阶段进行评估。
命令¶
此模块提供以下命令
- cmake_expand_imported_targets¶
将给定库列表中的所有导入目标展开为磁盘上的相应文件路径,并将结果列表存储在一个局部变量中
cmake_expand_imported_targets( <result-var> LIBRARIES <libs>... [CONFIGURATION <config>] )
参数为
<result-var>
包含结果文件路径列表的 CMake 变量的名称。
LIBRARIES <libs>...
一个 分号分隔的列表,包含系统和导入的目标。此列表中的导入目标将被替换为其对应的库文件路径,包括其链接接口中的库。
CONFIGURATION <config>
如果指定了此选项,则使用导入目标对应的构建配置
<config>
(如果存在)。如果省略,它将默认使用CMAKE_CONFIGURATION_TYPES
变量中的第一个条目,或者在CMAKE_CONFIGURATION_TYPES
未设置时回退到CMAKE_BUILD_TYPE
。
示例¶
使用此模块获取库路径列表
include(CMakeExpandImportedTargets)
cmake_expand_imported_targets(
expandedLibs
LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}"
)