CMakeExpandImportedTargets

已从 3.4 版本开始弃用: 不要使用。

此模块曾经在使用 try_compile()try_run() 命令时需要,以将导入目标扩展为它们在磁盘上引用的基础库。现在,这些命令在其 LINK_LIBRARIES 选项中支持导入库(try_compile() 从 CMake 2.8.11 开始,try_run() 从 CMake 3.2 开始)。

此模块不支持策略 CMP0022 NEW 行为或 INTERFACE_LINK_LIBRARIES 属性的使用,因为 generator expressions 无法在配置期间进行评估。

CMAKE_EXPAND_IMPORTED_TARGETS(<var> LIBRARIES lib1 lib2...libN
                              [CONFIGURATION <config>])

CMAKE_EXPAND_IMPORTED_TARGETS() 会获取库列表,并使用在磁盘上引用的库的实际文件路径替代此列表中包含的所有导入目标,包括来自其链接接口的库。如果提供了 CONFIGURATION,则它将使用导入目标的相应配置(如果存在)。如果未提供 CONFIGURATION,则将使用 ${CMAKE_CONFIGURATION_TYPES} 中的第一个配置(如果已设置),否则将使用 ${CMAKE_BUILD_TYPE}。

cmake_expand_imported_targets(expandedLibs
  LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
  CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}" )