From: Alexey Sheplyakov Date: Thu, 26 Dec 2019 17:45:11 +0000 (+0400) Subject: build: windows: enable automatic imports by default X-Git-Tag: release_1-8-0~17 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=f7ffc0186d90947cb5df395b9fc547ab80115ea0 build: windows: enable automatic imports by default For now there are no dllexport/dllimport markings in GiNaC and CLN, so export all symbols when building GiNaC DLL, and enable automatic imports when linking with it. Note: this works with GNU linker only. --- diff --git a/ginac/CMakeLists.txt b/ginac/CMakeLists.txt index 07d8530e..98bd89b8 100644 --- a/ginac/CMakeLists.txt +++ b/ginac/CMakeLists.txt @@ -154,6 +154,12 @@ set_target_properties(ginac PROPERTIES target_link_libraries(ginac ${CLN_LIBRARIES}) include_directories(${CMAKE_SOURCE_DIR}/ginac) +if (WIN32 AND CMAKE_COMPILER_IS_GNUCXX AND BUILD_SHARED_LIBS) + set_target_properties(ginac PROPERTIES + LINK_FLAGS "-Wl,--enable-auto-import -Wl,--export-all-symbols" + ) +endif() + if (NOT BUILD_SHARED_LIBS) set_target_properties(ginac PROPERTIES OUTPUT_NAME "ginac") # Avoid the static library vs import library conflict (necessary for