diff --git a/cmake/Modules/Packages/USER-PLUMED.cmake b/cmake/Modules/Packages/USER-PLUMED.cmake index a9c5a59338..0b3d13cd70 100644 --- a/cmake/Modules/Packages/USER-PLUMED.cmake +++ b/cmake/Modules/Packages/USER-PLUMED.cmake @@ -1,15 +1,25 @@ if(PKG_USER-PLUMED) - find_package(GSL REQUIRED) - set(PLUMED_MODE "static" CACHE STRING "Linkage mode for Plumed2 library") + if(APPLE) + set(PLUMED_MODE "shared" CACHE STRING "Linkage mode for Plumed2 library") + else() + set(PLUMED_MODE "static" CACHE STRING "Linkage mode for Plumed2 library") + endif() set(PLUMED_MODE_VALUES static shared runtime) set_property(CACHE PLUMED_MODE PROPERTY STRINGS ${PLUMED_MODE_VALUES}) validate_option(PLUMED_MODE PLUMED_MODE_VALUES) string(TOUPPER ${PLUMED_MODE} PLUMED_MODE) - if((PLUMED_MODE STREQUAL "STATIC") AND NOT LAPACK_LIBRARIES) + set(PLUMED_LINK_LIBS "") + if(PLUMED_MODE STREQUAL "STATIC") find_package(LAPACK REQUIRED) find_package(BLAS REQUIRED) + find_package(GSL REQUIRED) list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES}) + list(APPEND PLUMED_LINK_LIBS ${LAPACK_LIBRARIES} ${GSL_LIBRARIES}) + find_package(ZLIB QUIET) + if(ZLIB_FOUND) + list(APPEND PLUMED_LINK_LIBS ${ZLIB_LIBRARIES}) + endif() endif() find_package(PkgConfig QUIET) @@ -59,7 +69,7 @@ if(PKG_USER-PLUMED) list(APPEND LAMMPS_DEPS plumed_build) if(PLUMED_MODE STREQUAL "STATIC") add_definitions(-D__PLUMED_WRAPPER_CXX=1) - list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.a ${GSL_LIBRARIES} ${LAPACK_LIBRARIES} ${CMAKE_DL_LIBS}) + list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.a ${PLUMED_LINK_LIBS} ${CMAKE_DL_LIBS}) elseif(PLUMED_MODE STREQUAL "SHARED") list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX} ${PLUMED_INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_DL_LIBS}) elseif(PLUMED_MODE STREQUAL "RUNTIME")