correct CMake support (also fix some bugs for other packages)

This commit is contained in:
Axel Kohlmeyer
2021-06-05 15:48:25 -04:00
parent ac403394e4
commit 75e5ad4c7a
2 changed files with 8 additions and 44 deletions

View File

@ -140,17 +140,18 @@ option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE
GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS
PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI
PLUGIN REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK
USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
USER-H5MD USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT
USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB
USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SMD USER-SMTBQ USER-SPH
USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE USER-BROWNIAN)
set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP)
set(DEPEND_PACKAGES QEQ USER-SDPD)
foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES})
foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES} ${DEPEND_PACKAGES})
option(PKG_${PKG} "Build ${PKG} Package" OFF)
endforeach()
@ -235,6 +236,7 @@ pkg_depends(USER-ATC MANYBODY)
pkg_depends(USER-LB MPI)
pkg_depends(USER-PHONON KSPACE)
pkg_depends(USER-SCAFACOS MPI)
pkg_depends(USER-DIELECTRIC KSPACE)
# detect if we may enable OpenMP support by default
set(BUILD_OMP_DEFAULT OFF)
@ -495,9 +497,9 @@ endif()
# packages which selectively include variants based on enabled styles
# e.g. accelerator packages
######################################################################
foreach(PKG_WITH_INCL CORESHELL QEQ USER-DIELECTRIC USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU)
if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL})
foreach(PKG_WITH_DEPS ${DEPEND_PACKAGES} ${SUFFIX_PACKAGES})
if(PKG_${PKG_WITH_DEPS})
include(Packages/${PKG_WITH_DEPS})
endif()
endforeach()

View File

@ -1,38 +0,0 @@
set(DIELECTRIC_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-DIELECTRIC)
file(GLOB DIELECTRIC_SOURCES ${DIELECTRIC_SOURCES_DIR}/*.cpp)
file(GLOB DIELECTRIC_FIX_HEADERS ${DIELECTRIC_SOURCES_DIR}/fix*.h)
file(GLOB DIELECTRIC_PAIR_HEADERS ${DIELECTRIC_SOURCES_DIR}/pair*.h)
file(GLOB DIELECTRIC_KSPACE_HEADERS ${DIELECTRIC_SOURCES_DIR}/msm*.h ${DIELECTRIC_SOURCES_DIR}/pppm*.h)
if(NOT PKG_KSPACE)
list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/msm_dielectric.cpp)
list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pppm_dielectric.cpp)
list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_coul_long_dielectric.cpp)
list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_long_dielectric.cpp)
list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_msm_dielectric.cpp)
list(REMOVE_ITEM DIELECTRIC_SOURCES ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_long_coul_long_dielectric.cpp)
list(REMOVE_ITEM DIELECTRIC_KSPACE_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/msm_dielectric.h)
list(REMOVE_ITEM DIELECTRIC_KSPACE_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pppm_dielectric.h)
list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_coul_long_dielectric.h)
list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_long_dielectric.h)
list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_cut_coul_msm_dielectric.h)
list(REMOVE_ITEM DIELECTRIC_PAIR_HEADERS ${USER-DIELECTRIC_SOURCES_DIR}/pair_lj_long_coul_long_dielectric.h)
endif()
set_property(GLOBAL PROPERTY "DIELECTRIC_SOURCES" ${DIELECTRIC_SOURCES})
foreach(MY_HEADER ${DIELECTRIC_FIX_HEADERS})
AddStyleHeader(${MY_HEADER} FIX)
endforeach()
foreach(MY_HEADER ${DIELECTRIC_KSPACE_HEADERS})
AddStyleHeader(${MY_HEADER} KSPACE)
endforeach()
foreach(MY_HEADER ${DIELECTRIC_PAIR_HEADERS})
AddStyleHeader(${MY_HEADER} PAIR)
endforeach()
get_property(DIELECTRIC_SOURCES GLOBAL PROPERTY DIELECTRIC_SOURCES)
target_sources(lammps PRIVATE ${DIELECTRIC_SOURCES})
target_include_directories(lammps PRIVATE ${DIELECTRIC_SOURCES_DIR})