forked from aziomq/aziomq
-
Notifications
You must be signed in to change notification settings - Fork 115
113 lines (107 loc) · 3.67 KB
/
cmake.yml
File metadata and controls
113 lines (107 loc) · 3.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
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
cc: gcc
cxx: g++
- os: ubuntu-22.04
cc: gcc
cxx: g++
- os: macos-26
cc: clang
cxx: clang++
- os: macos-15
cc: clang
cxx: clang++
- os: macos-14
cc: clang
cxx: clang++
- os: macos-13
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_170
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
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