Refine static libs on Linux/MacOS

This commit is contained in:
2022-04-12 18:49:15 +02:00
parent 469fc4c35a
commit ac04c02789
2 changed files with 44 additions and 23 deletions

View File

@@ -26,14 +26,18 @@ function(bundle_static_library tgt_name bundled_tgt_name)
set_property(GLOBAL PROPERTY _${tgt_name}_static_bundle_${dependency} ON)
_recursively_collect_dependencies(${dependency})
endif()
else()
list(APPEND dep_libs ${dependency})
endif()
endforeach()
set(static_libs ${static_libs} PARENT_SCOPE)
set(dep_libs ${dep_libs} PARENT_SCOPE)
endfunction()
_recursively_collect_dependencies(${tgt_name})
list(REMOVE_DUPLICATES static_libs)
list(REMOVE_DUPLICATES dep_libs)
set(bundled_tgt_full_name
${CMAKE_BINARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}${bundled_tgt_name}${CMAKE_STATIC_LIBRARY_SUFFIX})
@@ -99,7 +103,9 @@ function(bundle_static_library tgt_name bundled_tgt_name)
set_target_properties(${bundled_tgt_name}
PROPERTIES
IMPORTED_LOCATION ${bundled_tgt_full_name}
INTERFACE_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:${tgt_name},INTERFACE_INCLUDE_DIRECTORIES>)
INTERFACE_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:${tgt_name},INTERFACE_INCLUDE_DIRECTORIES>
INTERFACE_LINK_LIBRARIES "${dep_libs}")
#IMPORTED_LINK_INTERFACE_LIBRARIES "${dep_libs}") # Deprecated
add_dependencies(${bundled_tgt_name} bundling_target)
endfunction()