Skip to content

Modernize CMake configuration with best practices from cpp-best-practices #3106

Modernize CMake configuration with best practices from cpp-best-practices

Modernize CMake configuration with best practices from cpp-best-practices #3106

name: Ubuntu 22.04 (GCC 12 SANITIZED)
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- '**.md'
- 'docs/**'
push:
branches:
- main
paths-ignore:
- '**.md'
- 'docs/**'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
ubuntu-build:
runs-on: ubuntu-22.04
strategy:
matrix:
shared: [ON, OFF]
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Ninja
run: sudo apt-get install ninja-build
- name: Prepare (CMake with sanitize-address preset)
run: cmake --preset sanitize-address -DBUILD_SHARED_LIBS=${{matrix.shared}}
env:
CXX: g++-12
- name: Build
run: cmake --build build/sanitize-address -j=4
- name: Test
run: ctest --output-on-failure --test-dir build/sanitize-address