aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/fmilib/fix-mergestaticlibs.diff
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/fmilib/fix-mergestaticlibs.diff')
-rw-r--r--vcpkg/ports/fmilib/fix-mergestaticlibs.diff20
1 files changed, 20 insertions, 0 deletions
diff --git a/vcpkg/ports/fmilib/fix-mergestaticlibs.diff b/vcpkg/ports/fmilib/fix-mergestaticlibs.diff
new file mode 100644
index 0000000..05fbcc4
--- /dev/null
+++ b/vcpkg/ports/fmilib/fix-mergestaticlibs.diff
@@ -0,0 +1,20 @@
+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)