Skip to content

Use C++20

Use C++20 #90

Workflow file for this run

name: CI
on: [push, pull_request, workflow_dispatch]
jobs:
build:
name: ${{matrix.platform.name}} ${{matrix.config.name}}
runs-on: ${{matrix.platform.os}}
strategy:
fail-fast: false
matrix:
platform:
- { name: Windows, os: windows-2022 }
- { name: Linux GCC, os: ubuntu-24.04 }
- { name: Linux Clang, os: ubuntu-24.04, flags: -DCMAKE_CXX_COMPILER=clang++ }
- { name: macOS, os: macos-14 }
config:
- { name: Debug }
- { name: Release }
steps:
- name: Install Linux Dependencies
if: runner.os == 'Linux'
run: |
sudo apt update
sudo apt install libxrandr-dev libxcursor-dev libxi-dev libudev-dev libopenal-dev libfreetype-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev
- name: Checkout
uses: actions/checkout@v4
- name: Configure
run: cmake --preset dev -DCMAKE_BUILD_TYPE=${{matrix.config.name}} ${{matrix.platform.flags}}
- name: Build
run: cmake --build build --config ${{matrix.config.name}}
- name: Format
if: matrix.platform.name == 'Linux Clang' && matrix.config.name == 'Debug'
run: |
cmake --build build --target format
git diff --exit-code
- name: Tidy
if: matrix.platform.name == 'Linux Clang' && matrix.config.name == 'Debug'
run: cmake --build build --target tidy