aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/glibmm/CMakeLists.txt9
1 files changed, 8 insertions, 1 deletions
diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt
index 942776c6d..f1ff5ea9a 100644
--- a/ports/glibmm/CMakeLists.txt
+++ b/ports/glibmm/CMakeLists.txt
@@ -40,7 +40,14 @@ if(APPLE)
link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY})
endif()
-if(NOT BUILD_SHARED_LIBS)
+# Activate workaround for exporting all symbols from Windows DLLs to mimic the
+# behavior on Linux, where dynamic libraries always export all symbols.
+# The same approach was already used by the upstream MSVC build (see MSVC_NMake/gendef/gendef.cc)
+if (WIN32)
+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
+endif()
+
+if(BUILD_SHARED_LIBS)
add_definitions(-DGLIBMM_STATIC_LIB -DGIOMM_STATIC_LIB)
endif()