Skip to content

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

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

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

Workflow file for this run

name: Ubuntu 22.04
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:
strategy:
fail-fast: false
matrix:
shared: [ON, OFF]
cxx: [g++-12, clang++-15]
runs-on: [ubuntu-22.04, ubuntu-22.04-arm]
simdutf: [OFF, ON]
runs-on: ${{matrix.runs-on}}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Ninja
run: sudo apt-get install ninja-build
- name: Prepare (CMake with ci preset)
run: cmake --preset ci -DBUILD_SHARED_LIBS=${{matrix.shared}} -DADA_USE_SIMDUTF=${{matrix.simdutf}} -DADA_BENCHMARKS=ON
env:
CXX: ${{matrix.cxx}}
- name: Build
run: cmake --build build/ci -j=4
- name: Test
run: ctest --output-on-failure --test-dir build/ci
- name: Run default benchmark
run: cd build/ci && benchmarks/bench