add libpng in meson.build for wxOSX 3.3? #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Windows Build & Package | |
on: | |
push: | |
branches: | |
- master | |
- feature | |
- cibuilds | |
paths: | |
- '**' | |
- '!.github/workflows/**' | |
- '.github/workflows/windows.yml' | |
- '!docs/**' | |
- '!packages/**' | |
- 'packages/meson.build' | |
- 'packages/desktop/**' | |
- 'packages/win_installer/**' | |
- '!src/osx/**' | |
- '!tools/osx-**' | |
pull_request: | |
branches: | |
- master | |
- feature | |
paths: | |
- '**' | |
- '!.github/workflows/**' | |
- '.github/workflows/windows.yml' | |
- '!docs/**' | |
- '!packages/**' | |
- 'packages/meson.build' | |
- 'packages/desktop/**' | |
- 'packages/win_installer/**' | |
- '!src/osx/**' | |
- '!tools/osx-**' | |
workflow_dispatch: | |
jobs: | |
build: | |
name: ${{ matrix.config.name }} | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: Windows MSVC Release | |
msvc: true | |
buildtype: release | |
args: >- | |
-Ddefault_library=static | |
--force-fallback-for=zlib,harfbuzz,freetype2,fribidi,libpng | |
-Dfreetype2:harfbuzz=disabled | |
-Dharfbuzz:freetype=disabled | |
-Dharfbuzz:cairo=disabled | |
-Dharfbuzz:glib=disabled | |
-Dharfbuzz:gobject=disabled | |
-Dharfbuzz:tests=disabled | |
-Dharfbuzz:docs=disabled | |
-Dharfbuzz:icu=disabled | |
-Dfribidi:tests=false | |
-Dfribidi:docs=false | |
-Dlibass:fontconfig=disabled | |
-Dffmpeg:libdav1d=enabled | |
-Davisynth=enabled | |
-Dbestsource=enabled | |
-Dvapoursynth=enabled | |
- name: Windows MSVC Release (wx master) | |
msvc: true | |
buildtype: release | |
args: >- | |
-Ddefault_library=static | |
--force-fallback-for=zlib,harfbuzz,freetype2,fribidi,libpng | |
-Dfreetype2:harfbuzz=disabled | |
-Dharfbuzz:freetype=disabled | |
-Dharfbuzz:cairo=disabled | |
-Dharfbuzz:glib=disabled | |
-Dharfbuzz:gobject=disabled | |
-Dharfbuzz:tests=disabled | |
-Dharfbuzz:docs=disabled | |
-Dharfbuzz:icu=disabled | |
-Dfribidi:tests=false | |
-Dfribidi:docs=false | |
-Dlibass:fontconfig=disabled | |
-Dffmpeg:libdav1d=enabled | |
-Davisynth=enabled | |
-Dbestsource=enabled | |
-Dvapoursynth=enabled | |
-Dwx_version='3.3.0' | |
#- { | |
# name: Windows MinGW, | |
# os: windows-latest, | |
# msvc: false | |
#} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Setup Meson | |
run: pipx install meson | |
- name: Setup MSVC | |
if: matrix.config.msvc == true | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Install dependencies | |
run: | | |
choco install ninja innosetup nasm | |
$moonscripturl = "https://github.com/leafo/moonscript/releases/download/win32-v0.5.0/moonscript-187bac54ee5a7450013e9c38e005a0e671b76f45.zip" | |
mkdir moonscript | |
Invoke-WebRequest -Uri $moonscripturl -OutFile ".\moonscript\moonscript.zip" | |
pushd moonscript | |
7z e moonscript.zip | |
Get-Location | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
popd | |
$gettexturl = "https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.21-v1.16/gettext0.21-iconv1.16-static-64.zip" | |
Invoke-WebRequest -Uri $gettexturl -OutFile ".\gettext.zip" | |
Expand-Archive ".\gettext.zip" -DestinationPath gettext | |
pushd gettext/bin | |
Get-Location | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
popd | |
- name: Configure | |
run: | | |
meson setup build ${{ matrix.config.args }} -Dbuildtype=${{ matrix.config.buildtype }} | |
meson configure build | |
- name: Build | |
run: meson compile -C build | |
- name: Run test | |
run: meson test -C build --verbose "gtest main" | |
# Windows artifacts | |
- name: Generate Windows installer | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | |
meson compile win-installer -C build | |
- name: Generate Windows portable installer | |
run: cd build && ninja win-portable | |
- name: Upload artifacts - win_installer | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.config.name }} - installer | |
path: build/Aegisub-*.exe | |
if-no-files-found: error | |
- name: Upload artifacts - portable.zip | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.config.name }} - portable | |
path: build/aegisub-portable-64.zip |