From 74bdbd4f37af471747490d1a4fce5efa54190612 Mon Sep 17 00:00:00 2001 From: Nunuhara Cabbage Date: Tue, 21 Oct 2025 18:19:03 -0700 Subject: [PATCH] Add windows build workflow --- .github/workflows/windows.yml | 106 ++++++++++++++++++++++++++++++++++ extra/Start in debugger.lnk | Bin 0 -> 1582 bytes 2 files changed, 106 insertions(+) create mode 100644 .github/workflows/windows.yml create mode 100644 extra/Start in debugger.lnk diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 0000000..27a8fbc --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,106 @@ +name: Windows Build + +on: [push, pull_request] + +jobs: + build: + runs-on: windows-latest + + defaults: + run: + shell: msys2 {0} + + steps: + - name: Checkout Source + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Setup MSYS2 + uses: msys2/setup-msys2@v2 + with: + update: true + install: >- + base-devel + git + nasm + diffutils + mingw-w64-x86_64-gcc + mingw-w64-x86_64-meson + mingw-w64-x86_64-pkg-config + mingw-w64-x86_64-SDL2 + mingw-w64-x86_64-freetype + mingw-w64-x86_64-libjpeg-turbo + mingw-w64-x86_64-libwebp + mingw-w64-x86_64-libpng + mingw-w64-x86_64-libsndfile + mingw-w64-x86_64-glew + + - name: Build FFmpeg + run: | + git clone --depth 1 --branch n7.1.2 https://github.com/FFmpeg/FFmpeg.git + cd FFmpeg + ./configure --disable-everything \ + --enable-decoder=mpegvideo \ + --enable-decoder=mpeg1video \ + --enable-decoder=mpeg2video \ + --enable-decoder=mp2 \ + --enable-parser=mpegaudio \ + --enable-parser=mpegvideo \ + --enable-demuxer=mpegps \ + --enable-demuxer=mpegts \ + --enable-demuxer=mpegtsraw \ + --enable-demuxer=mpegvideo \ + --enable-decoder=vc1 \ + --enable-decoder=wmapro \ + --enable-parser=vc1 \ + --enable-hwaccel=vc1_d3d11va \ + --enable-hwaccel=vc1_d3d11va2 \ + --enable-hwaccel=vc1_dxva2 \ + --enable-demuxer=asf \ + --enable-protocol=file \ + --enable-filter=scale \ + --enable-static \ + --disable-shared \ + --extra-libs=-static \ + --extra-cflags=--static \ + --prefix=/mingw64 + make -j$(nproc) + make install + cd .. + + - name: Build + run: | + mkdir debug + meson debug -Dbuildtype=debug + ninja -C debug + mkdir release + meson release -Dbuildtype=release + ninja -C release + + - name: Test + run: | + debug/src/xsystem4.exe test/Run/test.ain + release/src/xsystem4.exe test/Run/test.ain + + - name: Copy licenses + run: | + ls /mingw64/share/licenses + mkdir dist + cp -r /mingw64/share/licenses dist/ + + - name: Package + run: | + cp release/src/xsystem4.exe COPYING README.md game_compatibility.md dist/ + cp debug/src/xsystem4.exe dist/xsystem4-debug.exe + cp /mingw64/bin/glew32.dll dist/ + cp extra/*.lnk dist/ + cp -r fonts dist/ + cp -r shaders dist/ + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: xsystem4 + path: dist + compression-level: 9 diff --git a/extra/Start in debugger.lnk b/extra/Start in debugger.lnk new file mode 100644 index 0000000000000000000000000000000000000000..32921c8bffed15e4461aef0118d2e68bf252cfdb GIT binary patch literal 1582 zcmeZaU|?VrVFHp23H*bguz?h!Tj&3>m?4}YlOc~Gg(07zoS_(~MvNf}YN}$` zcN+nQ;L75X)LdgD1_mb-b2Icn=04)VX6{~>gABn8l|b`K7*ZK>8H^c#+8HDm!ay|8 z>zzURc?t~4xhZ<76{&Fdf<%?V7J}V-b{WFl1`rbrMD(vRBm>P$VbBAbTLHu%_cAbe z0kI4agZu}gb%7WJJb_pch?#+y{Tx$^0FY(?1|>A4VqkuYfjNai8fdZ}LkwD|#9;U) z2F)Gv4EhYtz$gdltpNHP;dc|DYf^wNO=2izNQb*y0Vs+rE&_BS(De&co&9}-16-X| zK`tGkKouC0{tUjrFb`mG1+qtSSd7pl0QNR0x3Yrr1dzT9#Gstb4dj>m9h7>`6zjL$ zMQ`J}z!}>?atS~T%t8wyfHVlCq!wqF