chore: fix ubuntu 22.04 build ...again #405
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 CI | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
msvc-qmake-build: | |
strategy: | |
matrix: | |
include: | |
- qt_ver: '6.8.0' | |
vs: '2022' | |
aqt_arch: 'win64_msvc2022_64' | |
msvc_arch: 'x64' | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
arch: ${{ matrix.aqt_arch }} | |
version: ${{ matrix.qt_ver }} | |
modules: 'qtimageformats' | |
- name: Build | |
shell: cmd | |
run: | | |
set VS=${{ matrix.vs }} | |
set VCVARS="C:\Program Files (x86)\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" | |
if not exist %VCVARS% set VCVARS="C:\Program Files\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" | |
call %VCVARS% ${{ matrix.msvc_arch }} | |
qmake pineapple-pictures.pro | |
nmake | |
nmake clean | |
windeployqt --verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --no-system-dxc-compiler --skip-plugin-types tls,networkinformation release\ppic.exe | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: "windows-msvc${{ matrix.vs }}-qt${{ matrix.qt_ver }}-qmake-package" | |
path: release/* | |
msvc-cmake-build: | |
strategy: | |
matrix: | |
include: | |
- qt_ver: '6.8.0' | |
vs: '2022' | |
aqt_arch: 'win64_msvc2022_64' | |
msvc_arch: 'x64' | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
arch: ${{ matrix.aqt_arch }} | |
version: ${{ matrix.qt_ver }} | |
modules: 'qtimageformats' | |
- name: Build | |
shell: cmd | |
run: | | |
:: ------ env ------ | |
set PWD=%cd% | |
set VS=${{ matrix.vs }} | |
set VCVARS="C:\Program Files (x86)\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" | |
if not exist %VCVARS% set VCVARS="C:\Program Files\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" | |
call %VCVARS% ${{ matrix.msvc_arch }} | |
:: ------ dep ------ | |
set CMAKE_PREFIX_PATH=%PWD%/dependencies_bin | |
mkdir dependencies_src | |
:: ===== exiv2 ===== | |
curl -fsSL -o exiv2_bin.zip https://github.com/Exiv2/exiv2/releases/download/v0.28.3/exiv2-0.28.3-2019msvc64.zip | |
7z x exiv2_bin.zip -y | |
ren .\exiv2-0.28.3-2019msvc64 dependencies_bin | |
:: ===== zlib ===== | |
curl -fsSL -o zlib_src.zip https://zlib.net/zlib131.zip | |
7z x zlib_src.zip -y -o"dependencies_src" | |
ren .\dependencies_src\zlib-1.3.1 zlib || goto :error | |
cmake ./dependencies_src/zlib -Bbuild_dependencies/zlib -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error | |
cmake --build build_dependencies/zlib --config Release --target=install || goto :error | |
curl -fsSL -o expat_src.zip https://github.com/libexpat/libexpat/archive/R_2_6_2.zip | |
:: ===== AOM for libavif AVI decoding support ===== | |
git clone -q -b v3.10.0 --depth 1 https://aomedia.googlesource.com/aom dependencies_src/aom | |
cmake ./dependencies_src/aom -Bbuild_dependencies/aom -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DAOM_TARGET_CPU=generic -DENABLE_TESTS=OFF -DENABLE_TESTDATA=OFF -DENABLE_TOOLS=OFF -DENABLE_EXAMPLES=0 || goto :error | |
cmake --build build_dependencies/aom --config Release --target=install || goto :error | |
:: ===== libavif ===== | |
curl -fsSL -o libavif-v1_1_1.zip https://github.com/AOMediaCodec/libavif/archive/v1.1.1.zip | |
7z x libavif-v1_1_1.zip -y -o"dependencies_src" | |
ren .\dependencies_src\libavif-1.1.1 libavif || goto :error | |
cmake ./dependencies_src/libavif -Bbuild_dependencies/libavif -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DAVIF_CODEC_AOM=ON -DAVIF_LOCAL_LIBYUV=ON | |
cmake --build build_dependencies/libavif --config Release --target=install || goto :error | |
:: ===== expat ===== | |
7z x expat_src.zip -y -o"dependencies_src" | |
ren .\dependencies_src\libexpat-R_2_6_2 expat || goto :error | |
cmake ./dependencies_src/expat/expat -Bbuild_dependencies/expat -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error | |
cmake --build build_dependencies/expat --config Release --target=install || goto :error | |
:: ===== ECM ===== | |
git clone -q https://invent.kde.org/frameworks/extra-cmake-modules.git dependencies_src/extra-cmake-modules | |
cmake .\dependencies_src\extra-cmake-modules -Bbuild_dependencies/extra-cmake-modules -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DBUILD_TESTING=OFF || goto :error | |
cmake --build build_dependencies/extra-cmake-modules --config Release --target=install || goto :error | |
:: ===== KArchive ===== | |
git clone -q https://invent.kde.org/frameworks/karchive.git dependencies_src/karchive | |
cmake .\dependencies_src\karchive -Bbuild_dependencies/karchive -DWITH_LIBZSTD=OFF -DWITH_BZIP2=OFF -DWITH_LIBLZMA=OFF -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error | |
cmake --build build_dependencies/karchive --config Release --target=install || goto :error | |
:: ===== KImageFormats ===== | |
git clone -q https://invent.kde.org/frameworks/kimageformats.git dependencies_src/kimageformats | |
cmake .\dependencies_src\kimageformats -Bbuild_dependencies/kimageformats -DKDE_INSTALL_QTPLUGINDIR=%QT_ROOT_DIR%\plugins || goto :error | |
cmake --build build_dependencies/kimageformats --config Release --target=install || goto :error | |
:: ------ app ------ | |
cmake -Bbuild . -DCMAKE_INSTALL_PREFIX="%PWD%\build\" | |
cmake --build build --config Release | |
cmake --build build --config Release --target=install | |
:: ------ pkg ------ | |
windeployqt --verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --no-system-dxc-compiler --skip-plugin-types tls,networkinformation build\bin\ppic.exe | |
robocopy ./dependencies_bin/bin build/bin *.dll | |
if ErrorLevel 8 (exit /B 1) | |
copy LICENSE build\bin | |
exit /B 0 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: "windows-msvc${{ matrix.vs }}-qt${{ matrix.qt_ver }}-cmake-package" | |
path: build/bin/* |