From df40d1dc737a6393eedfc72e3a660daaa6114db3 Mon Sep 17 00:00:00 2001 From: anon Date: Tue, 27 Apr 2021 12:06:42 +0000 Subject: [PATCH] cmake: export all symbols --- CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a932d28e..339609e8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -234,6 +234,18 @@ add_library(l3 OBJECT incorrect_source.cpp) endfunction() forbid_undefined_symbols() +if (MINGW) + function(export_all_symbols) + unset(TMP) + add_linker_flag_if_supported(-Wl,--export-all-symbols TMP) + string(APPEND CMAKE_SHARED_LINKER_FLAGS ${TMP}) + string(APPEND CMAKE_MODULE_LINKER_FLAGS ${TMP}) + set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} PARENT_SCOPE) + set(CMAKE_MODULE_LINKER_FLAGS ${CMAKE_MODULE_LINKER_FLAGS} PARENT_SCOPE) + endfunction() + export_all_symbols() +endif() + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE) message(STATUS "Setting default build type: ${CMAKE_BUILD_TYPE}")