forked from Framstag/libosmscout
-
Notifications
You must be signed in to change notification settings - Fork 0
172 lines (166 loc) · 6.62 KB
/
build_and test_on_ubuntu_22_04.yml
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
name: Ubuntu 22.04
on:
pull_request:
branches:
- master
push:
branches:
- master
paths-ignore:
- '.github/workflows/**'
jobs:
build_clang_meson:
name: clang and meson
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Update package list
run: sudo apt-get update
- name: Install software-properties-common
run: sudo apt-get install software-properties-common
- name: Install clang compiler and Co
run: sudo apt-get -y install clang libc++-dev ccache libtool pkg-config
- name: Install meson and ninja via pip
run: "pip install meson ninja"
- name: Install libosmscout dependencies
run: "sudo apt-get install -y
libxml2-dev
libprotobuf-dev protobuf-compiler
libagg-dev
libfreetype6-dev libcairo2-dev libpangocairo-1.0-0 libpango1.0-dev
qtdeclarative5-dev libqt5svg5-dev qtlocation5-dev qtpositioning5-dev qttools5-dev-tools
qttools5-dev qtmultimedia5-dev
libglm-dev libglew-dev freeglut3 freeglut3-dev
libmarisa-dev"
- name: Configure build project
run: meson setup --buildtype debugoptimized --unity on debug
env:
CXX: clang++
CC: clang
- name: Build project
run: ninja -C debug
- name: Run tests
run: meson test -C debug --print-errorlogs
build_gcc_meson:
name: gcc and meson
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install software-properties-common
run: sudo apt-get install software-properties-common
- name: Install gcc compiler and Co
run: sudo apt-get -y install gcc-12 g++-12 libtbb-dev ccache libtool pkg-config
- name: Install meson and ninja via pip
run: "pip install meson ninja"
- name: Install libosmscout dependencies
run: "sudo apt-get update && sudo apt-get install -y
libxml2-dev
libprotobuf-dev protobuf-compiler
libagg-dev
libfreetype6-dev libcairo2-dev libpangocairo-1.0-0 libpango1.0-dev
qtdeclarative5-dev libqt5svg5-dev qtlocation5-dev qtpositioning5-dev qttools5-dev-tools
qttools5-dev qtmultimedia5-dev
libglm-dev libglew-dev freeglut3 freeglut3-dev
libmarisa-dev"
- name: Configure build project
run: meson setup --buildtype debugoptimized --unity on debug
env:
CXX: g++-12
CC: gcc-12
- name: Build project
run: ninja -C debug
- name: Run tests
run: meson test -C debug --print-errorlogs
build_gcc_cmake:
name: gcc and cmake
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install software-properties-common
run: sudo apt-get install software-properties-common
- name: Install gcc compiler, cmake and ninja
run: sudo apt-get -y install gcc-12 g++-12 libtbb-dev ccache libtool pkg-config cmake ninja-build
- name: Install libosmscout dependencies
run: "sudo apt-get update && sudo apt-get install -y
libxml2-dev
libprotobuf-dev protobuf-compiler
libagg-dev
libfreetype6-dev libcairo2-dev libpangocairo-1.0-0 libpango1.0-dev
qtdeclarative5-dev libqt5svg5-dev qtlocation5-dev qtpositioning5-dev qttools5-dev-tools
qttools5-dev qtmultimedia5-dev
libglm-dev libglew-dev freeglut3 freeglut3-dev libglfw3-dev libxrandr-dev libxcursor-dev libxinerama-dev libxi-dev libxxf86vm-dev
xvfb
libmarisa-dev"
- name: Configure build project
run: cmake -B build -DCMAKE_UNITY_BUILD=ON -Wno-dev -G "Ninja"
env:
CXX: g++-12
CC: gcc-12
- name: Build project
run: cmake --build build
- name: Install project
run: sudo cmake --install build
- name: Run tests
run: xvfb-run ctest -j 2 --output-on-failure
env:
QT_QPA_PLATFORM: offscreen
working-directory: build
build_gcc_meson_qt6:
name: gcc and meson with Qt6
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install software-properties-common
run: sudo apt-get install software-properties-common
- name: Install gcc compiler and Co
run: sudo apt-get -y install gcc-12 g++-12 libtbb-dev ccache libtool pkg-config
- name: Install meson and ninja via pip
run: "pip install meson ninja"
- name: Install libosmscout dependencies
run: "sudo apt-get update && sudo apt-get install -y
libfreetype6-dev libcairo2-dev libpangocairo-1.0-0 libpango1.0-dev
qmake6 libqt6svg6-dev libqt6core5compat6-dev qt6-declarative-dev qt6-positioning-dev qt6-tools-dev-tools
qt6-l10n-tools qt6-tools-dev qt6-multimedia-dev
libglm-dev libgl-dev"
- name: Configure build project
run: PATH=/usr/lib/qt6/bin:/usr/lib/qt6/libexec:$PATH meson setup --buildtype debugoptimized --unity on --wrap-mode=nofallback -D qtVersion=6 debug
env:
CXX: g++-12
CC: gcc-12
- name: Build project
run: ninja -C debug
- name: Run tests
run: meson test -C debug --print-errorlogs
build_gcc_cmake_qt6:
name: gcc and cmake with Qt6
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install software-properties-common
run: sudo apt-get install software-properties-common
- name: Install gcc compiler, cmake and ninja
run: sudo apt-get -y install gcc-12 g++-12 libtbb-dev ccache libtool pkg-config cmake ninja-build
- name: Install libosmscout dependencies
run: "sudo apt-get update && sudo apt-get install -y
libprotobuf-dev protobuf-compiler
qmake6 libqt6svg6-dev libqt6core5compat6-dev qt6-declarative-dev qt6-positioning-dev qt6-tools-dev-tools
qt6-l10n-tools qt6-tools-dev qt6-multimedia-dev"
- name: Configure build project
run: cmake -B build -DCMAKE_UNITY_BUILD=ON -Wno-dev -G "Ninja"
env:
CXX: g++-12
CC: gcc-12
- name: Build project
run: cmake --build build
- name: Install project
run: sudo cmake --install build
- name: Run tests
run: xvfb-run ctest -j 2 --output-on-failure
env:
QT_QPA_PLATFORM: offscreen
working-directory: build