-
Notifications
You must be signed in to change notification settings - Fork 2
150 lines (131 loc) · 3.8 KB
/
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
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
name: Build
on:
push:
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
jobs:
ubuntu:
name: Ubuntu ${{ matrix.ubuntu_version }} (Qt ${{ matrix.qt_version }})
runs-on: ubuntu-${{ matrix.ubuntu_version }}
strategy:
matrix:
include:
- ubuntu_version: 22.04
qt_version: 5
qt_package: qtbase5-dev
- ubuntu_version: 24.04
qt_version: 6
qt_package: qt6-base-dev
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1
with:
max-size: 50M
- name: Install dependencies
run: |
sudo apt-get install \
${{ matrix.qt_package }} \
libfreetype-dev \
libgl1-mesa-dev \
libharfbuzz-dev \
libpixman-1-dev \
libxcursor-dev \
libxi-dev \
zlib1g-dev
- name: Build
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DUSE_SHARED_ZLIB=on \
-DUSE_SHARED_PIXMAN=on \
-DUSE_SHARED_FREETYPE=on \
-DUSE_SHARED_HARFBUZZ=on
cmake --build build --config Release
sudo cmake --install build --config Release
macos:
name: macOS ${{ matrix.macos_version }} (Qt ${{ matrix.qt_version }})
runs-on: macos-${{ matrix.macos_version }}
strategy:
matrix:
include:
- macos_version: 14
qt_version: 5.15.2
architectures: x86_64
- macos_version: 15
qt_version: 6.8.1
architectures: x86_64;arm64
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1
with:
max-size: 50M
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qt_version }}
arch: clang_64
cache: true
- name: Build
run: |
cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DUSE_SHARED_ZLIB=on \
-DCMAKE_OSX_ARCHITECTURES='${{ matrix.architectures }}'
cmake --build build --config Release
sudo cmake --install build --config Release
windows:
name: Windows (Qt ${{ matrix.qt_version }}, ${{ matrix.qt_arch }})
runs-on: windows-${{ matrix.windows_version }}
strategy:
matrix:
include:
- windows_version: 2019
qt_version: 5.15.2
qt_arch: win32_msvc2019
cmake_args: -G "Visual Studio 16 2019" -A Win32
- windows_version: 2022
qt_version: 6.8.1
qt_arch: win64_msvc2022_64
cmake_args: -G "Visual Studio 17 2022" -A x64
- windows_version: 2019
qt_version: 5.15.2
qt_arch: win32_mingw81
qt_tools: tools_mingw,qt.tools.win32_mingw810
cmake_args: -G "MinGW Makefiles"
- windows_version: 2022
qt_version: 6.8.1
qt_arch: win64_mingw
qt_tools: tools_mingw1310,qt.tools.win64_mingw1310
cmake_args: -G "MinGW Makefiles"
defaults:
run:
shell: bash
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qt_version }}
arch: ${{ matrix.qt_arch }}
tools: "${{ matrix.qt_tools }}"
cache: true
- name: Build
run: |
pushd aseprite/laf
patch -p1 < ../../laf-msvc-dynamic-runtime.patch
popd
cmake -B build -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmake_args }}
cmake --build build --config Release
cmake --install build --config Release