diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 503adeb3e8..9fec9bc306 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -64,7 +64,7 @@ else() file(GLOB MPI_SOURCES ${LAMMPS_SOURCE_DIR}/STUBS/mpi.c) if(BUILD_SHARED_PKG_LIBS) add_library(mpi_stubs SHARED ${MPI_SOURCES}) - set_target_properties(${PKG_LIB} PROPERTIES SOVERSION ${SOVERSION}) + set_target_properties(mpi_stubs PROPERTIES SOVERSION ${SOVERSION}) if(INSTALL_LIB) install(TARGETS mpi_stubs LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() @@ -190,6 +190,9 @@ if(ENABLE_MSCG OR ENABLE_USER-ATC OR ENABLE_USER-AWPMD OR ENABLE_USER-QUIP) else() add_library(linalg STATIC ${LAPACK_SOURCES}) endif() + if(BUILD_SHARED_LIBS) + set_target_properties(linalg PROPERTIES POSITION_INDEPENDENT_CODE ON) + endif() include(CheckFortranCompilerFlag) check_Fortran_compiler_flag("-fno-second-underscore" FC_HAS_NO_SECOND_UNDERSCORE) if(FC_HAS_NO_SECOND_UNDERSCORE) @@ -309,7 +312,18 @@ if(ENABLE_MSCG) WORKING_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/mscg) endif() file(GLOB MSCG_SOURCES ${LAMMPS_LIB_MSCG_BIN_DIR}/*.cpp) - add_library(mscg ${MSCG_SOURCES}) + if(BUILD_SHARED_PKG_LIBS) + add_library(mscg SHARED ${MSCG_SOURCES}) + set_target_properties(mscg PROPERTIES SOVERSION ${SOVERSION}) + if(INSTALL_LIB) + install(TARGETS mscg LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + else() + add_library(mscg STATIC ${MSCG_SOURCES}) + endif() + if(BUILD_SHARED_LIBS) + set_target_properties(mscg PROPERTIES POSITION_INDEPENDENT_CODE ON) + endif() list(APPEND LAMMPS_LINK_LIBS mscg) target_compile_options(mscg PRIVATE -DDIMENSION=3 -D_exclude_gromacs=1) target_include_directories(mscg PUBLIC ${LAMMPS_LIB_MSCG_BIN_DIR}) @@ -379,6 +393,9 @@ foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD else() add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES}) endif() + if(BUILD_SHARED_LIBS) + set_target_properties(${PKG_LIB} PROPERTIES POSITION_INDEPENDENT_CODE ON) + endif() list(APPEND LAMMPS_LINK_LIBS ${PKG_LIB}) if(PKG_LIB STREQUAL awpmd) target_include_directories(awpmd PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/awpmd/systems/interact ${LAMMPS_LIB_SOURCE_DIR}/awpmd/ivutils/include)