fix shared build and mscg install

This commit is contained in:
Christoph Junghans
2017-08-27 13:45:48 -06:00
parent c196025ea9
commit 5308ee67fa

View File

@ -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)