Skip to content

Support C++11

Support C++11 #35

Workflow file for this run

name: Tests
on:
push:
branches: [main, developing]
pull_request:
branches: [main, developing]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
linux:
name: Linux (gcc & clang)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build ccache
- name: Install Task
uses: go-task/setup-task@v1
with:
version: 3.x
- name: Cache deps (gcc)
uses: actions/cache@v4
with:
path: build-gcc/_deps
key: ${{ runner.os }}-gcc-deps-${{ hashFiles('CMakeLists.txt', '**/CMakeLists.txt', '**/*.cmake') }}
restore-keys: |
${{ runner.os }}-gcc-deps-
- name: Run tests (gcc)
env:
CC: gcc
CXX: g++
run: task test:gcc
- name: Cache deps (clang)
uses: actions/cache@v4
with:
path: build-clang/_deps
key: ${{ runner.os }}-clang-deps-${{ hashFiles('CMakeLists.txt', '**/CMakeLists.txt', '**/*.cmake') }}
restore-keys: |
${{ runner.os }}-clang-deps-
- name: Run tests (clang)
env:
CC: clang
CXX: clang++
run: task test:clang
windows:
name: Windows (${{ matrix.compiler }})
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- compiler: msvc
build_dir: build-msvc
- compiler: clang-cl
build_dir: build-clang-cl
steps:
- uses: actions/checkout@v4
- name: Install LLVM + Ninja (clang-cl)
if: matrix.compiler == 'clang-cl'
shell: pwsh
run: |
choco install llvm ninja -y --no-progress
- uses: actions/cache@v4
with:
path: ${{ matrix.build_dir }}/_deps
key: ${{ runner.os }}-${{ matrix.compiler }}-deps-${{ hashFiles('CMakeLists.txt', '**/CMakeLists.txt', '**/*.cmake') }}
restore-keys: |
${{ runner.os }}-${{ matrix.compiler }}-deps-
- name: Install Task
uses: go-task/setup-task@v1
with:
version: 3.x
- name: Run tests (${{ matrix.compiler }})
run: task test:${{ matrix.compiler }}