Merge pull request #4324 from rbberger/cmake_optional_docenv #5
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 -Werror=vla | |
name: "Check for Variable Length Arrays" | |
on: | |
push: | |
branches: | |
- develop | |
pull_request: | |
branches: | |
- develop | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Build with -Werror=vla | |
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 install -y ccache \ | |
libeigen3-dev \ | |
libgsl-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-vla-ccache-${{ github.sha }} | |
restore-keys: linux-vla-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 \ | |
-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 -Werror=vla" \ | |
-D DOWNLOAD_POTENTIALS=off \ | |
-D BUILD_MPI=on \ | |
-D BUILD_SHARED_LIBS=off \ | |
-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_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 |