From d47f2aca53b0998fcfcb87dc79236e9f2a0eb0c2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 29 Jun 2021 22:07:13 -0400 Subject: [PATCH] recover compilation with CMake --- cmake/CMakeLists.txt | 5 +- .../Packages/{SDPD.cmake => DPD-SMOOTH.cmake} | 0 cmake/Modules/Packages/ML-IAP.cmake | 2 +- cmake/Modules/Packages/ML-PACE.cmake | 4 +- cmake/presets/all_off.cmake | 96 ++++++++++++++--- cmake/presets/all_on.cmake | 100 +++++++++++++++--- cmake/presets/mingw-cross.cmake | 75 +++++++++++-- cmake/presets/most.cmake | 59 +++++++++-- cmake/presets/nolib.cmake | 33 +++++- 9 files changed, 320 insertions(+), 54 deletions(-) rename cmake/Modules/Packages/{SDPD.cmake => DPD-SMOOTH.cmake} (100%) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5e80a16d6b..a049ab8c28 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -444,9 +444,8 @@ endforeach() ############################################## # add lib sources of (simple) enabled packages ############################################ -foreach(SIMPLE_LIB POEMS ATC AWPMD H5MD MESONT) - if(PKG_${SIMPLE_LIB}) - string(REGEX REPLACE "^" "" PKG_LIB "${SIMPLE_LIB}") +foreach(PKG_LIB POEMS ATC AWPMD H5MD MESONT) + if(PKG_${PKG_LIB}) string(TOLOWER "${PKG_LIB}" PKG_LIB) if(PKG_LIB STREQUAL "mesont") enable_language(Fortran) diff --git a/cmake/Modules/Packages/SDPD.cmake b/cmake/Modules/Packages/DPD-SMOOTH.cmake similarity index 100% rename from cmake/Modules/Packages/SDPD.cmake rename to cmake/Modules/Packages/DPD-SMOOTH.cmake diff --git a/cmake/Modules/Packages/ML-IAP.cmake b/cmake/Modules/Packages/ML-IAP.cmake index cbffeebf80..63f91ba8d3 100644 --- a/cmake/Modules/Packages/ML-IAP.cmake +++ b/cmake/Modules/Packages/ML-IAP.cmake @@ -25,7 +25,7 @@ if(MLIAP_ENABLE_PYTHON) endif() set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython) - set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/MLIAP/mliap_model_python_couple.pyx) + set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/ML-IAP/mliap_model_python_couple.pyx) get_filename_component(MLIAP_CYTHON_BASE ${MLIAP_CYTHON_SRC} NAME_WE) file(MAKE_DIRECTORY ${MLIAP_BINARY_DIR}) add_custom_command(OUTPUT ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.h diff --git a/cmake/Modules/Packages/ML-PACE.cmake b/cmake/Modules/Packages/ML-PACE.cmake index 7cfaf78aa0..ccc7423355 100644 --- a/cmake/Modules/Packages/ML-PACE.cmake +++ b/cmake/Modules/Packages/ML-PACE.cmake @@ -14,8 +14,8 @@ execute_process( WORKING_DIRECTORY ${CMAKE_BINARY_DIR} ) -file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/ML-PACE) -file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/ML-PACE/*.cpp) +file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE) +file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE/*.cpp) list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp) add_library(pace STATIC ${PACE_EVALUATOR_SOURCES}) diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 86f12c98f1..e77e4aae1a 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -1,17 +1,89 @@ -# preset that turns on all existing packages off. can be used to reset +# Preset that turns on all existing packages off. Can be used to reset # an existing package selection without losing any other settings -set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE - MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN - SRD VORONOI - ADIOS ATC AWPMD BROWNIAN BOCS CG-DNA CG-SDK - COLVARS DIFFRACTION DPD-REACT DRUDE EFF FEP H5MD - ML-HDNNP INTEL LATBOLTZ MANIFOLD MDI MEAM DPD-MESO - MESONT MGPT USER-MISC MOFFF MOLFILE NETCDF OPENMP - ML-PACE PHONON PLUMED PTM QMMM QTB ML-QUIP ML-RANN - REACTION REAXFF SCAFACOS DPD-SMOOTH MACHDYN SMTBQ SPH - TALLY UEF VTK YAFF DIELECTRIC) +set(ALL_PACKAGES + ADIOS + ASPHERE + ATC + AWPMD + BOCS + BODY + BROWNIAN + CG-DNA + CG-SDK + CLASS2 + COLLOID + COLVARS + COMPRESS + CORESHELL + DIELECTRIC + DIFFRACTION + DIPOLE + DPD-MESO + DPD-REACT + DPD-SMOOTH + DRUDE + EFF + FEP + GPU + GRANULAR + H5MD + INTEL + KIM + KOKKOS + KSPACE + LATBOLTZ + LATTE + MACHDYN + MANIFOLD + MANYBODY + MC + MDI + MEAM + MESONT + MESSAGE + MGPT + MISC + ML-HDNNP + ML-IAP + ML-PACE + ML-QUIP + ML-RANN + ML-SNAP + MOFFF + MOLECULE + MOLFILE + MPIIO + MSCG + NETCDF + OPENMP + OPT + PERI + PHONON + PLUGIN + PLUMED + POEMS + PTM + PYTHON + QEQ + QMMM + QTB + REACTION + REAXFF + REPLICA + RIGID + SCAFACOS + SHOCK + SMTBQ + SPH + SPIN + SRD + TALLY + UEF + USER-MISC + VORONOI + VTK + YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 909af2edff..7df3512223 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -1,19 +1,91 @@ -# preset that turns on all existing packages. using the combination -# this preset followed by the nolib.cmake preset should configure a -# LAMMPS binary, with as many packages included, that can be compiled +# Preset that turns on all existing packages. Using the combination +# of this preset followed by the nolib.cmake preset should configure +# a LAMMPS binary, with as many packages included, that can be compiled # with just a working C++ compiler and an MPI library. -set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE - MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN - SRD VORONOI - ADIOS ATC AWPMD BROWNIAN BOCS CG-DNA CG-SDK - COLVARS DIFFRACTION DPD-REACT DRUDE EFF FEP H5MD - ML-HDNNP INTEL LATBOLTZ MANIFOLD MDI MEAM DPD-MESO - MESONT MGPT USER-MISC MOFFF MOLFILE NETCDF OPENMP - ML-PACE PHONON PLUMED PTM QMMM QTB ML-QUIP ML-RANN - REACTION REAXFF SCAFACOS DPD-SMOOTH MACHDYN SMTBQ SPH - TALLY UEF VTK YAFF DIELECTRIC) +set(ALL_PACKAGES + ADIOS + ASPHERE + ATC + AWPMD + BOCS + BODY + BROWNIAN + CG-DNA + CG-SDK + CLASS2 + COLLOID + COLVARS + COMPRESS + CORESHELL + DIELECTRIC + DIFFRACTION + DIPOLE + DPD-MESO + DPD-REACT + DPD-SMOOTH + DRUDE + EFF + FEP + GPU + GRANULAR + H5MD + INTEL + KIM + KOKKOS + KSPACE + LATBOLTZ + LATTE + MACHDYN + MANIFOLD + MANYBODY + MC + MDI + MEAM + MESONT + MESSAGE + MGPT + MISC + ML-HDNNP + ML-IAP + ML-PACE + ML-QUIP + ML-RANN + ML-SNAP + MOFFF + MOLECULE + MOLFILE + MPIIO + MSCG + NETCDF + OPENMP + OPT + PERI + PHONON + PLUGIN + PLUMED + POEMS + PTM + PYTHON + QEQ + QMMM + QTB + REACTION + REAXFF + REPLICA + RIGID + SCAFACOS + SHOCK + SMTBQ + SPH + SPIN + SRD + TALLY + UEF + USER-MISC + VORONOI + VTK + YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index ba6089935f..0b24bfbc28 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -1,13 +1,68 @@ -set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KSPACE LATTE MANYBODY MC MISC ML-IAP MOLECULE OPT - PERI POEMS QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - ATC AWPMD BOCS BROWNIAN CG-DNA CG-SDK - COLVARS DIFFRACTION DPD-REACT DRUDE EFF FEP - ML-HDNNP INTEL MANIFOLD MDI MEAM DPD-MESO - MESONT USER-MISC MGPT MOFFF MOLFILE OPENMP - PHONON PTM QTB REACTION REAXFF - DPD-SMOOTH MACHDYN SMTBQ SPH TALLY UEF - YAFF DIELECTRIC) +set(WIN_PACKAGES + ASPHERE + ATC + AWPMD + BOCS + BODY + BROWNIAN + CG-DNA + CG-SDK + CLASS2 + COLLOID + COLVARS + COMPRESS + CORESHELL + DIELECTRIC + DIFFRACTION + DIPOLE + DPD-MESO + DPD-REACT + DPD-SMOOTH + DRUDE + EFF + FEP + GPU + GRANULAR + INTEL + KSPACE + LATTE + MACHDYN + MANIFOLD + MANYBODY + MC + MDI + MEAM + MESONT + MGPT + MISC + ML-HDNNP + ML-IAP + ML-SNAP + MOFFF + MOLECULE + MOLFILE + OPENMP + OPT + PERI + PHONON + POEMS + PTM + QEQ + QTB + REACTION + REAXFF + REPLICA + RIGID + SHOCK + SMTBQ + SPH + SPIN + SRD + TALLY + UEF + USER-MISC + VORONOI + YAFF) foreach(PKG ${WIN_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index 9c66607ddf..3e8fc11f05 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -2,13 +2,58 @@ # external libraries. Compared to all_on.cmake some more unusual packages # are removed. The resulting binary should be able to run most inputs. -set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE - GRANULAR KSPACE MANYBODY MC MISC ML-IAP MOLECULE OPT PERI - PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK ML-SNAP SPIN SRD VORONOI - BROWNIAN BOCS CG-DNA CG-SDK COLVARS - DIFFRACTION DPD-REACT DRUDE EFF FEP MEAM - DPD-MESO USER-MISC MOFFF OPENMP PHONON REACTION - REAXFF DPD-SMOOTH SPH MACHDYN UEF YAFF DIELECTRIC) +set(ALL_PACKAGES + ASPHERE + BOCS + BODY + BROWNIAN + CG-DNA + CG-SDK + CLASS2 + COLLOID + COLVARS + COMPRESS + CORESHELL + DIELECTRIC + DIFFRACTION + DIPOLE + DPD-MESO + DPD-REACT + DPD-SMOOTH + DRUDE + EFF + FEP + GRANULAR + KSPACE + MACHDYN + MANYBODY + MC + MEAM + MISC + ML-IAP + ML-SNAP + MOFFF + MOLECULE + OPENMP + OPT + PERI + PHONON + PLUGIN + POEMS + PYTHON + QEQ + REACTION + REAXFF + REPLICA + RIGID + SHOCK + SPH + SPIN + SRD + UEF + USER-MISC + VORONOI + YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/nolib.cmake b/cmake/presets/nolib.cmake index d4b3497855..fd9c2ed1ac 100644 --- a/cmake/presets/nolib.cmake +++ b/cmake/presets/nolib.cmake @@ -1,11 +1,34 @@ # preset that turns off all packages that require some form of external # library or special compiler (fortran or cuda) or equivalent. -set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG - PYTHON VORONOI - ADIOS ATC AWPMD H5MD ML-HDNNP LATBOLTZ MOLFILE - MESONT MDI NETCDF ML-PACE PLUMED QMMM ML-QUIP - SCAFACOS MACHDYN VTK) +set(PACKAGES_WITH_LIB + ADIOS + ATC + AWPMD + COMPRESS + GPU + H5MD + KIM + KOKKOS + LATBOLTZ + LATTE + MACHDYN + MDI + MESONT + MESSAGE + ML-HDNNP + ML-PACE + ML-QUIP + MOLFILE + MPIIO + MSCG + NETCDF + PLUMED + PYTHON + QMMM + SCAFACOS + VORONOI + VTK) foreach(PKG ${PACKAGES_WITH_LIB}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE)