add CMake support

This commit is contained in:
Axel Kohlmeyer 2021-06-05 12:11:36 -04:00
parent 6b6cae7c11
commit 02707d7a0d
No known key found for this signature in database
GPG Key ID: D9B44E93BF0C375A
2 changed files with 45 additions and 6 deletions

View File

@ -142,9 +142,9 @@ 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
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK
USER-COLVARS 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-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-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE USER-BROWNIAN)
@ -348,8 +348,9 @@ else()
set(CUDA_REQUEST_PIC)
endif()
foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED
USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE)
foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP
USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP
USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE)
if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL})
endif()
@ -494,7 +495,7 @@ endif()
# packages which selectively include variants based on enabled styles
# e.g. accelerator packages
######################################################################
foreach(PKG_WITH_INCL CORESHELL QEQ USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU)
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})
endif()

View File

@ -0,0 +1,38 @@
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})