From: Roland Schulz Date: Fri, 5 Sep 2014 08:28:07 +0000 (-0400) Subject: Fix shared libs for Mingw X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?p=alexxy%2Fgromacs.git;a=commitdiff_plain;h=d28a7507ff76705ebc959ec060b55a93998b6379 Fix shared libs for Mingw Change-Id: Ib25e6b2a34080632e1d531da3194680cc8c6825b --- 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)