-
Notifications
You must be signed in to change notification settings - Fork 7
103 lines (84 loc) · 2.38 KB
/
main.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
name: Build NifSkope
on:
workflow_dispatch:
pull_request:
push:
jobs:
build_windows:
runs-on: windows-latest
name: Build MSYS2
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: 'Setup MSYS2'
uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
update: true
cache: true
install: 'base-devel mingw-w64-ucrt-x86_64-gcc msys/p7zip mingw-w64-ucrt-x86_64-qt5-base mingw-w64-ucrt-x86_64-qt5-3d mingw-w64-ucrt-x86_64-qt5-imageformats mingw-w64-ucrt-x86_64-qt5-tools'
- name: 'Build with qmake'
shell: msys2 {0}
run: |
qmake noavx2=1 NifSkope.pro
make -j 8
mv -f release/NifSkope.exe release/NifSkope_noavx2.exe
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
with:
name: build-win
path: |
release
build_linux:
runs-on: ubuntu-latest
name: Build Linux
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: 'Install required packages'
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libsdl2-dev qtbase5-dev qt5-qmake qt5-image-formats-plugins
version: 1.0
- name: 'Build with qmake'
run: |
x86_64-linux-gnu-qmake noavx2=1 NifSkope.pro
make -j 8
mv -f release/NifSkope release/NifSkope_noavx2
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
with:
name: build-linux
path: 'release'
build_macos:
runs-on: macos-latest
name: Build MacOS
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: 'Install required packages'
uses: jurplel/install-qt-action@v4
- name: 'Install clang'
run: brew install llvm
- name: 'Build with qmake'
run: |
qmake noavx=1 NifSkope.pro
make -j 8
- name: 'Create DMG image'
run: |
mv release/*.xml release/shaders release/qt.conf release/style.qss release/*.txt release/NifSkope.app/Contents/MacOS/
macdeployqt release/NifSkope.app -dmg
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
with:
name: build-macos
path: release/NifSkope.dmg