Commit c8dfe0c3 authored by Christoph Junghans's avatar Christoph Junghans
Browse files

drop BUILD_SHARED_PKG_LIBS and make all pkglibs static

parent f47cc0aa
Loading
Loading
Loading
Loading
+9 −17
Original line number Diff line number Diff line
@@ -43,15 +43,9 @@ include(CheckCCompilerFlag)
# User input options                                                   #
########################################################################
option(BUILD_SHARED_LIBS "Build shared libs" OFF)
option(BUILD_SHARED_PKG_LIBS "Build package libs shared" OFF)
if(BUILD_SHARED_LIBS OR BUILD_SHARED_PKG_LIBS)
if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg
  set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
if(BUILD_SHARED_PKG_LIBS)
  set(PKG_LIBS_BUILD_TYPE "SHARED")
else()
  set(PKG_LIBS_BUILD_TYPE "STATIC")
endif()
include(GNUInstallDirs)

set(LAMMPS_LINK_LIBS)
@@ -66,9 +60,8 @@ if(ENABLE_MPI)
  endif()
else()
  file(GLOB MPI_SOURCES ${LAMMPS_SOURCE_DIR}/STUBS/mpi.c)
  add_library(mpi_stubs ${PKG_LIBS_BUILD_TYPE} ${MPI_SOURCES})
  add_library(mpi_stubs STATIC ${MPI_SOURCES})
  set_target_properties(mpi_stubs PROPERTIES SOVERSION ${SOVERSION})
  install(TARGETS mpi_stubs LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
  include_directories(${LAMMPS_SOURCE_DIR}/STUBS)
  list(APPEND LAMMPS_LINK_LIBS mpi_stubs)
endif()
@@ -178,9 +171,8 @@ if(ENABLE_MSCG OR ENABLE_USER-ATC OR ENABLE_USER-AWPMD OR ENABLE_USER-QUIP)
  if(NOT LAPACK_FOUND)
    enable_language(Fortran)
    file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/*.f)
    add_library(linalg ${PKG_LIBS_BUILD_TYPE} ${LAPACK_SOURCES})
    add_library(linalg STATIC ${LAPACK_SOURCES})
    set_target_properties(${PKG_LIB} PROPERTIES SOVERSION ${SOVERSION})
    install(TARGETS linalg LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
    include(CheckFortranCompilerFlag)
    check_Fortran_compiler_flag("-fno-second-underscore" FC_HAS_NO_SECOND_UNDERSCORE)
    if(FC_HAS_NO_SECOND_UNDERSCORE)
@@ -300,9 +292,8 @@ if(ENABLE_MSCG)
      WORKING_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/mscg)
  endif()
  file(GLOB MSCG_SOURCES ${LAMMPS_LIB_MSCG_BIN_DIR}/*.cpp)
  add_library(mscg ${PKG_LIBS_BUILD_TYPE} ${MSCG_SOURCES})
  add_library(mscg STATIC ${MSCG_SOURCES})
  set_target_properties(mscg PROPERTIES SOVERSION ${SOVERSION})
  install(TARGETS mscg LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
  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})
@@ -363,9 +354,8 @@ foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD
    string(TOLOWER "${PKG_LIB}" PKG_LIB)
    file(GLOB_RECURSE ${PKG_LIB}_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.F
      ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.c ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.cpp)
    add_library(${PKG_LIB} ${PKG_LIBS_BUILD_TYPE} ${${PKG_LIB}_SOURCES})
    add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES})
    set_target_properties(${PKG_LIB} PROPERTIES SOVERSION ${SOVERSION})
    install(TARGETS ${PKG_LIB} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
    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)
@@ -590,8 +580,10 @@ include_directories(${LAMMPS_STYLE_HEADERS_DIR})
add_library(lammps ${LIB_SOURCES})
target_link_libraries(lammps ${LAMMPS_LINK_LIBS})
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
if(BUILD_SHARED_LIBS)
  install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
  install(FILES ${LAMMPS_SOURCE_DIR}/lammps.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()

add_executable(lmp ${LMP_SOURCES})
target_link_libraries(lmp lammps)