Merge pull request #4387 from akohlmey/next_release #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# GitHub action to build LAMMPS on Linux with gcc and C++23 | |
name: "Check for C++23 Compatibility" | |
on: | |
push: | |
branches: | |
- develop | |
pull_request: | |
branches: | |
- develop | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Build with C++23 support enabled | |
if: ${{ github.repository == 'lammps/lammps' }} | |
runs-on: ubuntu-latest | |
env: | |
CCACHE_DIR: ${{ github.workspace }}/.ccache | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: Install extra packages | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y ccache \ | |
libeigen3-dev \ | |
libcurl4-openssl-dev \ | |
mold \ | |
mpi-default-bin \ | |
mpi-default-dev \ | |
ninja-build \ | |
python3-dev | |
- name: Create Build Environment | |
run: mkdir build | |
- name: Set up ccache | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.CCACHE_DIR }} | |
key: linux-cpp23-ccache-${{ github.sha }} | |
restore-keys: linux-cpp23-ccache- | |
- name: Building LAMMPS via CMake | |
shell: bash | |
run: | | |
ccache -z | |
python3 -m venv linuxenv | |
source linuxenv/bin/activate | |
python3 -m pip install numpy | |
python3 -m pip install pyyaml | |
cmake -S cmake -B build \ | |
-C cmake/presets/most.cmake \ | |
-C cmake/presets/kokkos-openmp.cmake \ | |
-D CMAKE_CXX_STANDARD=23 \ | |
-D CMAKE_CXX_COMPILER=g++ \ | |
-D CMAKE_C_COMPILER=gcc \ | |
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \ | |
-D CMAKE_C_COMPILER_LAUNCHER=ccache \ | |
-D CMAKE_BUILD_TYPE=Debug \ | |
-D CMAKE_CXX_FLAGS_DEBUG="-Og -g" \ | |
-D DOWNLOAD_POTENTIALS=off \ | |
-D BUILD_MPI=on \ | |
-D BUILD_SHARED_LIBS=on \ | |
-D BUILD_TOOLS=off \ | |
-D ENABLE_TESTING=off \ | |
-D MLIAP_ENABLE_ACE=on \ | |
-D MLIAP_ENABLE_PYTHON=off \ | |
-D PKG_AWPMD=on \ | |
-D PKG_GPU=on \ | |
-D GPU_API=opencl \ | |
-D PKG_KOKKOS=on \ | |
-D PKG_LATBOLTZ=on \ | |
-D PKG_MDI=on \ | |
-D PKG_MANIFOLD=on \ | |
-D PKG_ML-PACE=on \ | |
-D PKG_ML-RANN=off \ | |
-D PKG_MOLFILE=on \ | |
-D PKG_RHEO=on \ | |
-D PKG_PTM=on \ | |
-D PKG_PYTHON=on \ | |
-D PKG_QTB=on \ | |
-D PKG_SMTBQ=on \ | |
-G Ninja | |
cmake --build build | |
ccache -s |