Skip to content

Engine schemas up to version 4.3.2 (#172) #180

Engine schemas up to version 4.3.2 (#172)

Engine schemas up to version 4.3.2 (#172) #180

Workflow file for this run

name: CMake
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: RelWithDebinfo
jobs:
build:
strategy:
# Can be uncommented if wishing to test stability-impacting changes.
#fail-fast: false
matrix:
config: [
{ os: ubuntu-22.04, c_compiler: clang-14, cpp_compiler: clang++-14 },
{ os: ubuntu-22.04, c_compiler: clang-15, cpp_compiler: clang++-15 },
{ os: ubuntu-22.04, c_compiler: gcc-11, cpp_compiler: g++-11 },
{ os: ubuntu-22.04, c_compiler: gcc-12, cpp_compiler: g++-12 },
{ os: ubuntu-24.04, c_compiler: clang-16, cpp_compiler: clang++-16 },
{ os: ubuntu-24.04, c_compiler: clang-17, cpp_compiler: clang++-17 },
{ os: ubuntu-24.04, c_compiler: gcc-13, cpp_compiler: g++-13 },
{ os: ubuntu-24.04, c_compiler: gcc-14, cpp_compiler: g++-14 },
{ os: macos-14, c_compiler: cc, cpp_compiler: c++, cmake_args: "-DSYSTEM_SQLITE=OFF" },
{ os: macos-15, c_compiler: cc, cpp_compiler: c++, cmake_args: "-DSYSTEM_SQLITE=OFF" },
{ os: windows-2022, c_compiler: cl, cpp_compiler: cl },
{ os: windows-2025, c_compiler: cl, cpp_compiler: cl },
]
runs-on: ${{ matrix.config.os }}
steps:
- uses: actions/checkout@v3
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
# Note: separate commands for main deps and test deps
run: |
brew install zlib
brew install boost
- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
# Note: separate commands for main deps and test deps
run: |
sudo apt-get update
sudo apt-get install --yes libz-dev libsqlite3-dev
sudo apt-get install --yes libboost-filesystem-dev libboost-test-dev
- name: Install dependencies (Windows)
if: runner.os == 'Windows'
# Note: test deps not currently installed for Windows as unit testing currently not supported for this platform.
run: |
vcpkg install zlib sqlite3
- name: Configure CMake (non-Windows)
if: runner.os != 'Windows'
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=${{matrix.config.c_compiler}} -DCMAKE_CXX_COMPILER=${{matrix.config.cpp_compiler}} ${{matrix.config.cmake_args}}
- name: Configure CMake (Windows)
if: runner.os == 'Windows'
run: cmake -B ${{github.workspace}}/build -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=${{matrix.config.c_compiler}} -DCMAKE_CXX_COMPILER=${{matrix.config.cpp_compiler}} ${{matrix.config.cmake_args}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Test
if: runner.os != 'Windows'
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure
- name: Install (non-Windows)
if: runner.os != 'Windows'
working-directory: ${{github.workspace}}/build
run: DESTDIR=. cmake --install .