mirror of
https://github.com/kichikuou/xsystem35-sdl2.git
synced 2026-10-08 14:48:19 +03:00
Document the supported SDL configurations and build dependencies for each platform. Keep Android on SDL3 only and identify every packaged artifact by its SDL version.
87 lines
2.4 KiB
YAML
87 lines
2.4 KiB
YAML
name: Windows Build
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- sys: mingw32
|
|
package: "xsystem35-sdl2-32bit"
|
|
sdl-version: 2
|
|
sdl-deps: "SDL2:p SDL2_mixer:p"
|
|
cmake_args: "-DENABLE_DEBUGGER=no"
|
|
deps: ""
|
|
- sys: ucrt64
|
|
package: "xsystem35-sdl2-64bit"
|
|
sdl-version: 2
|
|
sdl-deps: "SDL2:p SDL2_mixer:p"
|
|
cmake_args: ""
|
|
deps: >-
|
|
cjson:p
|
|
portmidi:p
|
|
- sys: ucrt64
|
|
package: "xsystem35-sdl3-64bit"
|
|
sdl-version: 3
|
|
sdl-deps: "sdl3:p sdl3-mixer:p"
|
|
cmake_args: ""
|
|
deps: >-
|
|
cjson:p
|
|
portmidi:p
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
name: MSYS2 SDL${{ matrix.sdl-version }} ${{ matrix.sys }}
|
|
steps:
|
|
|
|
- name: Set up MSYS2
|
|
uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: ${{ matrix.sys }}
|
|
pacboy: >-
|
|
${{ matrix.sdl-deps }}
|
|
freetype:p
|
|
libwebp:p
|
|
${{ matrix.deps }}
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Copy licenses
|
|
run: |
|
|
ls /${{ matrix.sys }}/share/licenses
|
|
mkdir dist
|
|
cp -r /${{ matrix.sys }}/share/licenses dist/
|
|
cp licenses/* dist/licenses/
|
|
|
|
- name: Install dev dependencies
|
|
run: pacboy --noconfirm -S --needed gcc:p cmake:p ninja:p asciidoctor:p
|
|
|
|
- name: Build
|
|
run: |
|
|
cmake -S . -B out/release -GNinja -DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_COMPILE_WARNING_AS_ERROR=YES \
|
|
-DXSYSTEM35_SDL_VERSION=${{ matrix.sdl-version }} \
|
|
${{ matrix.cmake_args }}
|
|
cmake --build out/release
|
|
|
|
- name: Test
|
|
run: ctest --output-on-failure
|
|
working-directory: out/release
|
|
|
|
- name: Package
|
|
run: |
|
|
cp out/release/src/xsystem35.exe out/release/doc/*.html *.md COPYING xsys35rc.sample dist/
|
|
ldd out/release/src/xsystem35.exe \
|
|
| awk '$2 == "=>" && tolower($3) ~ /\.dll$/ && $3 !~ /WINDOWS/ { print $3 }' \
|
|
| xargs -r cp -t dist/
|
|
|
|
- name: Upload
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: ${{ matrix.package }}
|
|
path: dist
|
|
compression-level: 9 # because we use it for releases
|