vcpkg/ports/fmilib/fix-mergestaticlibs.diff
Kai Pastor 2256cc983d
[fmilib] Cleanup, de-vendor libs, fix linux (#29834)
* [fmilib] change to the github and update to fix bug of libexpat

* add license

* Cleanup and devendor expat, minizip, zlib

* Merge target objects, not archives

* Update "supports" and ci baseline

* zlib is a transitive dependency

* Fix config

---------

Co-authored-by: FrankXie <v-frankxie@microsoft.com>
Co-authored-by: Javier Matos Denizac <javier.matosd@gmail.com>
Co-authored-by: Monica <v-liumonica@microsoft.com>
2023-03-14 17:40:36 -07:00

21 lines
740 B
Diff

diff --git a/Config.cmake/mergestaticlibs.cmake b/Config.cmake/mergestaticlibs.cmake
index 858a026..67eccb7 100644
--- a/Config.cmake/mergestaticlibs.cmake
+++ b/Config.cmake/mergestaticlibs.cmake
@@ -21,6 +21,15 @@ function(merge_static_libs outlib )
file(WRITE ${dummyfile} "const char * dummy = \"${dummyfile}\";")
add_library(${outlib} STATIC ${dummyfile})
+ foreach(lib IN LISTS libs)
+ target_sources(${outlib} PRIVATE "$<TARGET_OBJECTS:${lib}>")
+ get_target_property(link_libs ${lib} INTERFACE_LINK_LIBRARIES)
+ if(link_libs)
+ list(REMOVE_ITEM link_libs ${libs})
+ target_link_libraries(${outlib} ${link_libs})
+ endif()
+ endforeach()
+ return()
if("${CMAKE_CFG_INTDIR}" STREQUAL ".")
set(multiconfig FALSE)