-
Notifications
You must be signed in to change notification settings - Fork 84
120 lines (93 loc) · 3.39 KB
/
CI_build.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
name: CI_build
on: [push, pull_request]
jobs:
build_windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Ninja"]
steps:
- name: Install openssl dev
run: |
choco install openssl --version=3.1.1
choco install ninja
- name: Add nmake
uses: ilammy/msvc-dev-cmd@v1
- name: Checkout repo
uses: actions/checkout@v4
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: '6.5.*'
modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity qtimageformats'
setup-python: 'false'
- name: generate cmake
run: |
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -B _build
- name: build cmake
run: |
cmake --build _build --config ${{ matrix.build_configuration }} --target package
cmake --install _build
- name: run ctest
run: |
ctest --test-dir _build --output-on-failure -C "${{ matrix.build_configuration }}"
build_linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Unix Makefiles"]
steps:
- uses: actions/checkout@v4
- name: Install packages via apt
run: |
sudo apt update -qq && sudo apt install -y cmake pkg-config libssl-dev libudev-dev libhttp-parser-dev libpcsclite-dev libgl1-mesa-dev qt6-l10n-tools
# ubuntu 22.04 comes just with QT 6.2.4 and Qt >= 6.4 is required
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: '6.5.*'
modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity'
setup-python: 'false'
- name: generate cmake
run: |
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -B _build
- name: build cmake
run: |
cmake --build _build --config ${{ matrix.build_configuration }} --target package
sudo cmake --install _build
- name: run ctest
run: |
ctest --test-dir _build --output-on-failure -C "${{ matrix.build_configuration }}"
# due to https://bugreports.qt.io/browse/QTBUG-117765 QT 6.5.2 must be used instead of 6.5.3
build_macos:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
build_configuration: [Release]
build_platform: ["Unix Makefiles"]
steps:
- uses: actions/checkout@v4
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: '6.5.2'
modules: 'qtscxml qtwebsockets qtshadertools qtconnectivity qtimageformats'
setup-python: 'false'
- name: generate cmake
run: |
export OPENSSL_ROOT=/usr/local/opt/openssl/bin
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig/
cmake -G "${{ matrix.build_platform }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_configuration }}" -B _build
- name: build cmake
run: |
cmake --build _build --config ${{ matrix.build_configuration }}
- name: run ctest
run: |
ctest --test-dir _build --output-on-failure -C "${{ matrix.build_configuration }}"