CMakeExpandImportedTargets¶
已弃用,版本 3.4 起: 此模块不再使用。
以前需要用磁盘上引用的底层库替换 导入的目标,以供 try_compile() 和 try_run() 命令使用。这些命令现在在其 LINK_LIBRARIES 选项中支持导入的目标(自 CMake 2.8.11 起支持 try_compile() 命令,自 CMake 3.2 起支持 try_run() 命令)。
在 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_BUILD_TYPE(如果CMAKE_CONFIGURATION_TYPES未设置)。
示例¶
使用此模块获取库路径列表
include(CMakeExpandImportedTargets)
cmake_expand_imported_targets(
expandedLibs
LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}"
)