-
Notifications
You must be signed in to change notification settings - Fork 7
145 lines (119 loc) · 3.51 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
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
name: Build NifSkope
on:
workflow_dispatch:
pull_request:
push:
branches:
- develop
tags-ignore:
- 'v2*'
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-qt6-base mingw-w64-ucrt-x86_64-qt6-3d mingw-w64-ucrt-x86_64-qt6-5compat mingw-w64-ucrt-x86_64-qt6-imageformats mingw-w64-ucrt-x86_64-qt6-tools'
- name: 'Build with qmake'
shell: msys2 {0}
run: |
qmake6 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-24.04'
name: Build Linux
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: 'Install required packages'
run: |
sudo apt-get update
sudo apt-get -y install libsdl2-dev qt6-base-dev qt6-base-private-dev qt6-base-dev-tools qt6-5compat-dev qt6-3d-dev qmake6 qt6-image-formats-plugins 7zip
- name: 'Build with qmake'
run: |
qmake6 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
with:
version: '6.7.2'
modules: 'qt5compat'
- name: 'Install clang'
run: brew install llvm
- name: 'Build with qmake'
run: |
qmake6 QMAKE_APPLE_DEVICE_ARCHS="x86_64" noavx2=1 NifSkope.pro
make -j 8
- name: 'Create DMG image'
run: |
rm release/shaders/stf_default.*
cp res/stf_compat.* release/shaders/
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
build_clang64:
runs-on: windows-latest
name: Build MSYS2-CLANG64
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: 'Setup MSYS2'
uses: msys2/setup-msys2@v2
with:
msystem: CLANG64
update: true
cache: true
install: 'base-devel mingw-w64-clang-x86_64-gcc msys/p7zip mingw-w64-clang-x86_64-qt6-base mingw-w64-clang-x86_64-qt6-3d mingw-w64-clang-x86_64-qt6-5compat mingw-w64-clang-x86_64-qt6-imageformats mingw-w64-clang-x86_64-qt6-tools'
- name: 'Build with qmake'
shell: msys2 {0}
run: |
qmake6 NifSkope.pro
make -j 8
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
with:
name: build-clang64
path: |
release