From d28a7507ff76705ebc959ec060b55a93998b6379 Mon Sep 17 00:00:00 2001 From: Roland Schulz Date: Fri, 5 Sep 2014 04:28:07 -0400 Subject: [PATCH] Fix shared libs for Mingw Change-Id: Ib25e6b2a34080632e1d531da3194680cc8c6825b --- cmake/gmxManageSharedLibraries.cmake | 6 +++++- src/gromacs/CMakeLists.txt | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cmake/gmxManageSharedLibraries.cmake b/cmake/gmxManageSharedLibraries.cmake index fced521e95..0cfab0ce68 100644 --- a/cmake/gmxManageSharedLibraries.cmake +++ b/cmake/gmxManageSharedLibraries.cmake @@ -118,7 +118,11 @@ IF( WIN32 AND NOT CYGWIN) message(WARNING "Shared system libraries requested, and static Gromacs libraries requested.") endif() else() - message(FATAL_ERROR "BUILD_SHARED_LIBS=ON not yet working for Windows in the master branch") + if(MINGW) + set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-all-symbols ${CMAKE_SHARED_LINKER_FLAGS}") + else() + message(FATAL_ERROR "BUILD_SHARED_LIBS=ON not yet working for Windows in the master branch") + endif() if(GMX_PREFER_STATIC_LIBS) #this combination segfaults (illegal passing of file handles) message(FATAL_ERROR "Static system libraries requested, and shared Gromacs libraries requested.") diff --git a/src/gromacs/CMakeLists.txt b/src/gromacs/CMakeLists.txt index 1bffd962de..6db37e2402 100644 --- a/src/gromacs/CMakeLists.txt +++ b/src/gromacs/CMakeLists.txt @@ -199,7 +199,11 @@ set_target_properties(libgromacs PROPERTIES # Only install the library in mdrun-only mode if it is actually necessary # for the binary if (NOT GMX_BUILD_MDRUN_ONLY OR BUILD_SHARED_LIBS) - install(TARGETS libgromacs DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries) + install(TARGETS libgromacs + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + RUNTIME DESTINATION ${BIN_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + COMPONENT libraries) endif() if (NOT GMX_BUILD_MDRUN_ONLY) -- 2.22.0