Skip to content

Add support C++20 modules #3

Add support C++20 modules

Add support C++20 modules #3

Workflow file for this run

name: C++20
on:
push:
branches: [master]
pull_request:
permissions:
contents: read
jobs:
modules:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install cmake 3.30.5
run: |
wget https://github.com/Kitware/CMake/releases/download/v3.30.5/cmake-3.30.5-linux-x86_64.tar.gz
tar -xf cmake-3.30.5-linux-x86_64.tar.gz
/home/runner/cmake-3.30.5-linux-x86_64/bin/cmake --version
- name: Install ninja v1.12.1
run: |
git clone https://github.com/ninja-build/ninja
cd ninja && git checkout v1.12.1
cmake -Bbuild-cmake
cmake --build build-cmake
ninja --version
- name: Install dependencies
run: |
# Installing packages might fail as the github image becomes outdated
sudo apt update
# These aren't available or don't work well in vcpkg
sudo apt-get install -y libjsoncpp-dev uuid-dev libssl-dev zlib1g-dev libsqlite3-dev
sudo apt-get install -y ninja-build libbrotli-dev
sudo apt-get install -y libspdlog-dev
- name: Install Clang 20
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x ./llvm.sh
sudo ./llvm.sh 20
- name: Install Clang 20
run: |
/home/runner/cmake-3.30.5-linux-x86_64/bin/cmake .. -DCMAKE_CXX_STANDARD=20 -GNinja -DDROGON_BUILD_MODULES=ON -DDROGON_BUILD_MODULES_EXAMPLE=ON
ninja -j 9