-
Notifications
You must be signed in to change notification settings - Fork 52
239 lines (186 loc) · 6.29 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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
name: Compile cimgui
on:
workflow_dispatch:
jobs:
build-linux-x64:
runs-on: ubuntu-latest
permissions:
# Give the default GITHUB_TOKEN write permission to commit and push the
# added or changed files to the repository.
contents: write
steps:
- uses: actions/checkout@main
- name: add libs for glfw
run: |
sudo apt-get -y update
sudo apt install xorg-dev
# for GLFW
- name: configure glfw
run: cmake -S . -Bbuild
working-directory: ./thirdparty/glfw
- name: make glfw
run: make -j 4
working-directory: ./thirdparty/glfw/build
- name: copy glfw to lib
run: |
cp -f ./thirdparty/glfw/build/src/libglfw3.a ./lib/linux/x64
# for SDL2
- name: configure sdl
run: cmake -S . -Bbuild
working-directory: ./thirdparty/SDL
- name: make sdl
run: make -j 4
working-directory: ./thirdparty/SDL/build
- name: copy sdl to lib
run: |
cp -f ./thirdparty/SDL/build//libSDL2.a ./lib/linux/x64
# for cimgui
- name: configure cimgui
run: cmake -Bbuild
working-directory: ./lib
- name: make cimgui
run: make -j 4
working-directory: ./lib/build
- name: copy cimgui to lib
run: |
mkdir -p ./lib/linux/x64
cp -f ./lib/build/cimgui.a ./lib/linux/x64/
- run: git pull --rebase --autostash
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Update linux lib from ci
build-macos:
needs: build-linux-x64
runs-on: macos-latest
permissions:
# Give the default GITHUB_TOKEN write permission to commit and push the
# added or changed files to the repository.
contents: write
steps:
- uses: actions/checkout@main
# glfw
- name: configure glfw for x64
run: cmake -S . -Bbuild -DCMAKE_OSX_ARCHITECTURES=x86_64
working-directory: ./thirdparty/glfw
- name: make glfw x84
run: make -j 4
working-directory: ./thirdparty/glfw/build
- name: copy glfw to lib
run: |
cp -f ./thirdparty/glfw/build/src/libglfw3.a ./lib/macos/x64
- name: clean glfw
run: cmake --build ./build --target clean
working-directory: ./thirdparty/glfw
- name: configure glfw for arm64
run: cmake -S . -Bbuild -DCMAKE_OSX_ARCHITECTURES=arm64
working-directory: ./thirdparty/glfw
- name: make glfw arm64
run: make -j 4
working-directory: ./thirdparty/glfw/build
- name: copy glfw to lib
run: |
cp -f ./thirdparty/glfw/build/src/libglfw3.a ./lib/macos/arm64
# sdl
- name: configure sdl for x64
run: cmake -S . -Bbuild -DCMAKE_OSX_ARCHITECTURES=x86_64
working-directory: ./thirdparty/SDL
- name: make sdl x84
run: make -j 4
working-directory: ./thirdparty/SDL/build
- name: copy sdl to lib
run: |
cp -f ./thirdparty/SDL/build/libSDL2.a ./lib/macos/x64
- name: clean sdl
run: cmake --build ./build --target clean
working-directory: ./thirdparty/SDL
- name: configure sdl for arm64
run: cmake -S . -Bbuild -DCMAKE_OSX_ARCHITECTURES=arm64
working-directory: ./thirdparty/SDL
- name: make sdl arm64
run: make -j 4
working-directory: ./thirdparty/SDL/build
- name: copy sdl to lib
run: |
cp -f ./thirdparty/SDL/build/libSDL2.a ./lib/macos/arm64
# cimgui
- name: configure cimgui for x64
run: cmake -Bbuild -DCMAKE_OSX_ARCHITECTURES=x86_64
working-directory: ./lib
- name: make cimgui for x64
run: make -j 4
working-directory: ./lib/build
- name: copy cimgui x64 to lib
run: |
mkdir -p ./lib/macos/x64
cp -f ./lib/build/cimgui.a ./lib/macos/x64/
- name: clean up
run: cmake --build ./build --target clean
working-directory: ./lib
- name: configure cimgui for arm64
run: cmake -Bbuild -DCMAKE_OSX_ARCHITECTURES=arm64
working-directory: ./lib
- name: make cimgui for arm64
run: make -j 4
working-directory: ./lib/build
- name: copy cimgui arm64 to lib
run: |
mkdir -p ./lib/macos/arm64
cp -f ./lib/build/cimgui.a ./lib/macos/arm64/
- run: git pull --rebase --autostash
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Update macos lib from ci
build-windows-x64:
needs: build-macos
runs-on: windows-latest
permissions:
# Give the default GITHUB_TOKEN write permission to commit and push the
# added or changed files to the repository.
contents: write
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@main
- name: Install MinGW
uses: msys2/setup-msys2@v2
with:
update: true
install: >-
make
git
pacboy: >-
toolchain:p
cmake:p
ninja:p
# glfw
- name: configure glfw
run: cmake -G Ninja -S . -B build -DCMAKE_BUILD_TYPE=Release
working-directory: ./thirdparty/glfw
- name: make glfw
run: cmake --build build -j 4
working-directory: ./thirdparty/glfw
- name: copy glfw to lib
run: cp -f ./thirdparty/glfw/build/src/libglfw3.a ./lib/windows/x64
# sdl
- name: configure sdl
run: cmake -G Ninja -S . -B build -DCMAKE_BUILD_TYPE=Release
working-directory: ./thirdparty/SDL
- name: make sdl
run: cmake --build build -j 4
working-directory: ./thirdparty/SDL
- name: copy sdl to lib
run: cp -f ./thirdparty/SDL/build/libSDL2.a ./lib/windows/x64
# cimgui
- name: configure cimgui
run: cmake -G Ninja -B build
working-directory: .\lib
- name: make cimgui
run: cmake --build build -j 4
working-directory: .\lib
- name: copy cimgui to lib
run: cp -f ./lib/build/cimgui.a ./lib/windows/x64/
- run: git pull --rebase --autostash
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Update windows lib from ci