CMakeExpandImportedTargets

弃用自版本 3.4: 请勿使用。

此模块曾经需要扩展导入的目标,以获取它们在磁盘上引用的底层库的实际文件路径,以便与 try_compile()try_run() 命令一起使用。 这些命令现在在其 LINK_LIBRARIES 选项中支持导入的库(自 CMake 2.8.11 起用于 try_compile(),自 CMake 3.2 起用于 try_run())。

此模块不支持策略 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}" )