Skip to content

Commit facb727

Browse files
author
Beernaert Robbe
committed
Merge branch 'master' of https://github.com/premake/premake-core
2 parents e707056 + 1420eae commit facb727

File tree

1,747 files changed

+461758
-182227
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,747 files changed

+461758
-182227
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Bootstrap.bat text eol=crlf

.github/workflows/ci-workflow.yml

Lines changed: 242 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,28 @@ jobs:
1010
config: [debug, release]
1111
platform: [x64]
1212
depsrc: [none, contrib, system]
13+
cc: [gcc, clang]
14+
timeout-minutes: 30
1315
steps:
1416
- name: Checkout
1517
uses: actions/checkout@v4
18+
- name: Install booststrap's dependencies
19+
run: |
20+
sudo apt-get update
21+
sudo apt-get -y install uuid-dev
1622
- name: Install dependencies
1723
if: matrix.depsrc == 'system'
1824
run: |
1925
sudo apt-get update
20-
sudo apt-get -y install libcurl4-openssl-dev
26+
sudo apt-get -y install libcurl4-openssl-dev libzip-dev liblua5.3-dev
2127
- name: Build
22-
run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--curl-src=${{ matrix.depsrc }}" ./Bootstrap.sh
28+
run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--lib-src=${{ matrix.depsrc }} --cc=${{ matrix.cc }}" ./Bootstrap.sh
2329
- name: Test
2430
run: bin/${{ matrix.config }}/premake5 test --test-all
2531
- name: Docs check
2632
run: bin/${{ matrix.config }}/premake5 docs-check
2733
- name: Upload Artifacts
28-
if: matrix.config == 'release' && matrix.depsrc == 'contrib'
34+
if: matrix.config == 'release' && matrix.depsrc == 'contrib' && matrix.cc == 'gcc'
2935
uses: actions/upload-artifact@v4
3036
with:
3137
name: premake-linux-${{ matrix.platform }}
@@ -36,6 +42,7 @@ jobs:
3642
matrix:
3743
config: [debug, release]
3844
platform: [x64]
45+
timeout-minutes: 30
3946
steps:
4047
- name: Checkout
4148
uses: actions/checkout@v4
@@ -58,6 +65,7 @@ jobs:
5865
config: [debug, release]
5966
platform: [Win32, x64]
6067
msdev: [vs2022]
68+
timeout-minutes: 30
6169
steps:
6270
- name: Checkout
6371
uses: actions/checkout@v4
@@ -85,11 +93,14 @@ jobs:
8593
matrix:
8694
config: [debug, release]
8795
msystem: [mingw32, mingw64]
96+
depsrc: [none, contrib, system]
97+
cc: [mingw]
8898
include:
8999
- platform: x86
90100
msystem: mingw32
91101
- platform: x64
92102
msystem: mingw64
103+
timeout-minutes: 30
93104
defaults:
94105
run:
95106
shell: msys2 {0}
@@ -106,14 +117,22 @@ jobs:
106117
make
107118
pacboy: >-
108119
toolchain:p
120+
- name: Install dependencies
121+
if: matrix.depsrc == 'system' && matrix.platform == 'x64'
122+
run: |
123+
pacman -Suy --noconfirm mingw-w64-x86_64-curl mingw-w64-x86_64-lua53 mingw-w64-x86_64-libzip mingw-w64-x86_64-zlib
124+
- name: Install dependencies
125+
if: matrix.depsrc == 'system' && matrix.platform == 'x86'
126+
run: |
127+
pacman -Suy --noconfirm mingw-w64-i686-curl mingw-w64-i686-lua53 mingw-w64-i686-libzip mingw-w64-i686-zlib
109128
- name: Build
110-
run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} ./Bootstrap.sh
129+
run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--lib-src=${{ matrix.depsrc }} --cc=${{ matrix.cc }}" ./Bootstrap.sh
111130
- name: Test
112131
run: bin/${{ matrix.config }}/premake5.exe test --test-all
113132
- name: Docs check
114133
run: bin/${{ matrix.config }}/premake5.exe docs-check
115134
- name: Upload Artifacts
116-
if: matrix.config == 'release'
135+
if: matrix.config == 'release' && matrix.depsrc == 'contrib' && matrix.cc == 'mingw'
117136
uses: actions/upload-artifact@v4
118137
with:
119138
name: premake-${{ matrix.msystem }}-${{ matrix.platform }}
@@ -123,6 +142,7 @@ jobs:
123142
strategy:
124143
matrix:
125144
config: [debug, release]
145+
timeout-minutes: 30
126146
steps:
127147
- name: Checkout
128148
uses: actions/checkout@v4
@@ -141,6 +161,223 @@ jobs:
141161
with:
142162
name: premake-cosmopolitan-universal
143163
path: bin/${{ matrix.config }}/premake5
164+
freebsd:
165+
runs-on: ubuntu-latest
166+
strategy:
167+
matrix:
168+
config: [debug, release]
169+
platform: [x64]
170+
cc: [gcc, clang]
171+
timeout-minutes: 30
172+
defaults:
173+
run:
174+
shell: freebsd {0}
175+
steps:
176+
- name: Checkout
177+
uses: actions/checkout@v4
178+
- name: Start FreeBSD VM
179+
uses: vmactions/freebsd-vm@v1
180+
with:
181+
usesh: true
182+
sync: sshfs
183+
prepare: |
184+
pkg install -y gmake ca_root_nss gcc
185+
- name: Build
186+
run: |
187+
cd $GITHUB_WORKSPACE
188+
PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh
189+
- name: Test
190+
run: |
191+
cd $GITHUB_WORKSPACE
192+
bin/${{ matrix.config }}/premake5 test --test-all
193+
- name: Docs check
194+
run: |
195+
cd $GITHUB_WORKSPACE
196+
bin/${{ matrix.config }}/premake5 docs-check
197+
- name: Upload Artifacts
198+
if: matrix.config == 'release' && matrix.cc == 'clang'
199+
uses: actions/upload-artifact@v4
200+
with:
201+
name: premake-freebsd-${{ matrix.platform }}
202+
path: bin/${{ matrix.config }}/
203+
openbsd:
204+
runs-on: ubuntu-latest
205+
strategy:
206+
matrix:
207+
config: [debug, release]
208+
platform: [x64]
209+
cc: [clang]
210+
timeout-minutes: 30
211+
defaults:
212+
run:
213+
shell: openbsd {0}
214+
steps:
215+
- name: Checkout
216+
uses: actions/checkout@v4
217+
- name: Start OpenBSD VM
218+
uses: vmactions/openbsd-vm@v1
219+
with:
220+
usesh: true
221+
sync: sshfs
222+
prepare: |
223+
pkg_add gmake
224+
- name: Build
225+
run: |
226+
cd $GITHUB_WORKSPACE
227+
PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh
228+
- name: Test
229+
run: |
230+
cd $GITHUB_WORKSPACE
231+
bin/${{ matrix.config }}/premake5 test --test-all
232+
- name: Docs check
233+
run: |
234+
cd $GITHUB_WORKSPACE
235+
bin/${{ matrix.config }}/premake5 docs-check
236+
- name: Upload Artifacts
237+
if: matrix.config == 'release' && matrix.cc == 'clang'
238+
uses: actions/upload-artifact@v4
239+
with:
240+
name: premake-openbsd-${{ matrix.platform }}
241+
path: bin/${{ matrix.config }}/
242+
netbsd:
243+
runs-on: ubuntu-latest
244+
strategy:
245+
matrix:
246+
config: [debug, release]
247+
platform: [x64]
248+
cc: [gcc]
249+
timeout-minutes: 30
250+
defaults:
251+
run:
252+
shell: netbsd {0}
253+
steps:
254+
- name: Checkout
255+
uses: actions/checkout@v4
256+
- name: Start NetBSD VM
257+
uses: vmactions/netbsd-vm@v1
258+
with:
259+
prepare: |
260+
pkg_add gmake
261+
- name: Build
262+
run: |
263+
cd $GITHUB_WORKSPACE
264+
PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh
265+
- name: Test
266+
run: |
267+
cd $GITHUB_WORKSPACE
268+
bin/${{ matrix.config }}/premake5 test --test-all
269+
- name: Docs check
270+
run: |
271+
cd $GITHUB_WORKSPACE
272+
bin/${{ matrix.config }}/premake5 docs-check
273+
dragonflybsd:
274+
runs-on: ubuntu-latest
275+
strategy:
276+
matrix:
277+
config: [debug, release]
278+
platform: [x64]
279+
cc: [gcc]
280+
timeout-minutes: 30
281+
defaults:
282+
run:
283+
shell: dragonflybsd {0}
284+
steps:
285+
- name: Checkout
286+
uses: actions/checkout@v4
287+
- name: Start DragonflyBSD VM
288+
uses: vmactions/dragonflybsd-vm@v1
289+
with:
290+
prepare: |
291+
pkg install -y gmake
292+
- name: Build
293+
run: |
294+
cd $GITHUB_WORKSPACE
295+
PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh
296+
- name: Test
297+
run: |
298+
cd $GITHUB_WORKSPACE
299+
bin/${{ matrix.config }}/premake5 test --test-all
300+
- name: Docs check
301+
run: |
302+
cd $GITHUB_WORKSPACE
303+
bin/${{ matrix.config }}/premake5 docs-check
304+
solaris:
305+
runs-on: ubuntu-latest
306+
strategy:
307+
matrix:
308+
config: [debug, release]
309+
platform: [x64]
310+
cc: [gcc]
311+
timeout-minutes: 30
312+
defaults:
313+
run:
314+
shell: solaris {0}
315+
steps:
316+
- name: Checkout
317+
uses: actions/checkout@v4
318+
- name: Start Solaris VM
319+
uses: vmactions/solaris-vm@v1
320+
with:
321+
usesh: true
322+
cpu: 4
323+
mem: 8192
324+
release: 11.4-gcc
325+
- name: Build
326+
run: |
327+
cd $GITHUB_WORKSPACE
328+
CC=${{ matrix.cc }} PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh
329+
- name: Test
330+
run: |
331+
cd $GITHUB_WORKSPACE
332+
bin/${{ matrix.config }}/premake5 test --test-all
333+
- name: Docs check
334+
run: |
335+
cd $GITHUB_WORKSPACE
336+
bin/${{ matrix.config }}/premake5 docs-check
337+
- name: Upload Artifacts
338+
if: matrix.config == 'release' && matrix.cc == 'gcc'
339+
uses: actions/upload-artifact@v4
340+
with:
341+
name: premake-solaris-${{ matrix.platform }}
342+
path: bin/${{ matrix.config }}/
343+
omnios:
344+
runs-on: ubuntu-latest
345+
strategy:
346+
matrix:
347+
config: [debug, release]
348+
platform: [x64]
349+
cc: [gcc]
350+
timeout-minutes: 30
351+
defaults:
352+
run:
353+
shell: omnios {0}
354+
steps:
355+
- name: Checkout
356+
uses: actions/checkout@v4
357+
- name: Start OmniOS VM
358+
uses: vmactions/omnios-vm@v1
359+
with:
360+
usesh: true
361+
prepare: |
362+
pkg install build-essential web/ca-bundle
363+
- name: Build
364+
run: |
365+
cd $GITHUB_WORKSPACE
366+
CC=${{ matrix.cc }} PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh
367+
- name: Test
368+
run: |
369+
cd $GITHUB_WORKSPACE
370+
bin/${{ matrix.config }}/premake5 test --test-all
371+
- name: Docs check
372+
run: |
373+
cd $GITHUB_WORKSPACE
374+
bin/${{ matrix.config }}/premake5 docs-check
375+
- name: Upload Artifacts
376+
if: matrix.config == 'release' && matrix.cc == 'gcc'
377+
uses: actions/upload-artifact@v4
378+
with:
379+
name: premake-omnios-${{ matrix.platform }}
380+
path: bin/${{ matrix.config }}/
144381

145382
# This job will be required for PRs to be merged.
146383
# This should depend on (via needs) all jobs that need to be successful for the PR to be merged.

Bootstrap.bat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ SET "PlatformArg="
1313
SET "ConfigArg="
1414

1515
IF NOT "%PLATFORM%" == "" (
16-
SET "PlatformArg=PLATFORM=%PLATFORM%"
16+
SET "PlatformArg=PLATFORM=%PLATFORM%"
1717
)
1818

1919
IF NOT "%CONFIG%" == "" (
20-
SET "ConfigArg=CONFIG=%CONFIG%"
20+
SET "ConfigArg=CONFIG=%CONFIG%"
2121
)
2222

2323
SET vsversion=%1

0 commit comments

Comments
 (0)