Skip to content

Merge pull request #218 from jp-pino/master #77

Merge pull request #218 from jp-pino/master

Merge pull request #218 from jp-pino/master #77

Workflow file for this run

name: CMake
on:
push:
branches:
- '**'
pull_request:
branches: [master]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build:
strategy:
fail-fast: false
matrix:
config:
- os: ubuntu-24.04
family: ubuntu
cc: gcc
cxx: g++
- os: ubuntu-22.04
family: ubuntu
cc: gcc
cxx: g++
- os: macos-26
family: macos
cc: clang
cxx: clang++
- os: macos-15
family: macos
cc: clang
cxx: clang++
- os: macos-14
family: macos
cc: clang
cxx: clang++
- os: macos-13
family: macos
cc: clang
cxx: clang++
boost:
- url: system
system_packages_ubuntu: libboost-all-dev
system_packages_macos: boost
extra_cmake_args: -DCMAKE_POLICY_DEFAULT_CMP0167=NEW
- url: BOOST_189
system_packages_ubuntu:
system_packages_macos:
extra_cmake_args: -DCMAKE_POLICY_DEFAULT_CMP0167=NEW
- url: BOOST_187
system_packages_ubuntu:
system_packages_macos:
extra_cmake_args: -DCMAKE_POLICY_DEFAULT_CMP0167=NEW
- url: BOOST_184
system_packages_ubuntu:
system_packages_macos:
extra_cmake_args: -DCMAKE_POLICY_DEFAULT_CMP0167=NEW
- url: BOOST_181
system_packages_ubuntu:
system_packages_macos:
extra_cmake_args: -DCMAKE_POLICY_DEFAULT_CMP0167=NEW
- url: BOOST_176
system_packages_ubuntu:
system_packages_macos:
extra_cmake_args: -DCMAKE_POLICY_DEFAULT_CMP0167=NEW
- url: BOOST_174
system_packages_ubuntu:
system_packages_macos:
extra_cmake_args: -DCMAKE_POLICY_DEFAULT_CMP0167=NEW
- url: BOOST_168
system_packages_ubuntu:
system_packages_macos:
extra_cmake_args: -DCMAKE_POLICY_DEFAULT_CMP0167=OLD
zmq:
- tag: system
system_packages_ubuntu: libzmq3-dev
system_packages_macos: zmq
exclude:
- config:
family: macos
boost:
url: BOOST_176
- config:
family: macos
boost:
url: BOOST_174
- config:
family: macos
boost:
url: BOOST_168
- config:
os: macos-14
boost:
url: BOOST_181
runs-on: ${{ matrix.config.os }}
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
CTEST_OUTPUT_ON_FAILURE: 1
PACKAGES_UBUNTU: ${{ matrix.boost.system_packages_ubuntu }} ${{ matrix.zmq.system_packages_ubuntu }}
PACKAGES_MACOS: ${{ matrix.boost.system_packages_macos }} ${{ matrix.zmq.system_packages_macos }}
CONFIG_OS: ${{ matrix.config.os }}
MATRIX: ${{ toJson(matrix) }}
steps:
- uses: actions/checkout@v3
- name: buildtools on ubuntu
if: ${{ startsWith(matrix.config.os, 'ubuntu') }}
shell: bash
run: |
PACKAGES_UBUNTU=$(echo $PACKAGES_UBUNTU | sed 's/^[ ]*//;s/[ ]*$//')
if [ -n "$PACKAGES_UBUNTU" ]; then
sudo apt-get update && sudo apt-get install -y $PACKAGES_UBUNTU
fi
- name: buildtools on macos
if: ${{ startsWith(matrix.config.os, 'macos') }}
shell: bash
run: |
PACKAGES_MACOS=$(echo $PACKAGES_MACOS | sed 's/^[ ]*//;s/[ ]*$//')
if [ -n "$PACKAGES_MACOS" ]; then
brew install $PACKAGES_MACOS
fi
- name: build
shell: bash
run: |
cmake -DBOOST_URL=${{matrix.boost.url}} -DZMQ_TAG=${{matrix.zmq.tag}} ${{matrix.boost.extra_cmake_args}} -S .github/workflows/cmake-superbuild -B build
cmake --build build