chore(CI): add Qt 6 build, other minor updates

This commit is contained in:
Gary Wang 2023-03-25 17:49:52 +08:00
parent e8722c687a
commit c7727d233e
No known key found for this signature in database
GPG Key ID: 5D30A4F15EA78760
3 changed files with 21 additions and 12 deletions

View File

@ -8,9 +8,9 @@ jobs:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v3
- name: Install Qt - name: Install Qt
uses: jurplel/install-qt-action@v2 uses: jurplel/install-qt-action@v3
with: with:
version: '5.15.2' version: '5.15.2'
- name: Run a qt project - name: Run a qt project

View File

@ -15,7 +15,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Install Qt - name: Install Qt
uses: jurplel/install-qt-action@v2 uses: jurplel/install-qt-action@v3
with: with:
arch: 'win64_msvc2019_64' arch: 'win64_msvc2019_64'
version: '5.15.2' version: '5.15.2'

View File

@ -1,5 +1,5 @@
image: image:
- Visual Studio 2019 - Visual Studio 2022
environment: environment:
CMAKE_INSTALL_PREFIX: C:\projects\cmake CMAKE_INSTALL_PREFIX: C:\projects\cmake
LIBZ: C:\projects\zlib LIBZ: C:\projects\zlib
@ -8,9 +8,18 @@ environment:
LIBEXIV2: C:\projects\exiv2 LIBEXIV2: C:\projects\exiv2
PPKG: C:\projects\ppkg PPKG: C:\projects\ppkg
matrix: matrix:
- build_name: mingw81_64_qt5_15_2 - job_name: mingw_64_qt6_4
QTDIR: C:\Qt\6.4\mingw_64
MINGW64: C:\Qt\Tools\mingw1120_64
KF_BRANCH: master
PPIC_CMAKE_OPTIONS: "-DPREFER_QT_5=OFF"
WINDEPLOYQT_ARGS: "--verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler"
- job_name: mingw81_64_qt5_15_2
QTDIR: C:\Qt\5.15.2\mingw81_64 QTDIR: C:\Qt\5.15.2\mingw81_64
MINGW64: C:\Qt\Tools\mingw810_64 MINGW64: C:\Qt\Tools\mingw810_64
KF_BRANCH: kf5
PPIC_CMAKE_OPTIONS: ""
WINDEPLOYQT_ARGS: "--verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-angle --no-system-d3d-compiler"
install: install:
- mkdir %CMAKE_INSTALL_PREFIX% - mkdir %CMAKE_INSTALL_PREFIX%
@ -45,7 +54,7 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER% - cd %APPVEYOR_BUILD_FOLDER%
# install ECM so we can build KImageFormats # install ECM so we can build KImageFormats
- cd 3rdparty - cd 3rdparty
- git clone -b kf5 -q https://invent.kde.org/frameworks/extra-cmake-modules.git - git clone -b %KF_BRANCH% -q https://invent.kde.org/frameworks/extra-cmake-modules.git
- git rev-parse HEAD - git rev-parse HEAD
- cd extra-cmake-modules - cd extra-cmake-modules
- cmake -G "Ninja" . -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX% -DBUILD_TESTING=OFF - cmake -G "Ninja" . -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX% -DBUILD_TESTING=OFF
@ -80,7 +89,7 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER% - cd %APPVEYOR_BUILD_FOLDER%
# install KArchive for kra format support of KImageFormats # install KArchive for kra format support of KImageFormats
- cd 3rdparty - cd 3rdparty
- git clone -b kf5 -q https://invent.kde.org/frameworks/karchive.git - git clone -b %KF_BRANCH% -q https://invent.kde.org/frameworks/karchive.git
- git rev-parse HEAD - git rev-parse HEAD
- cd karchive - cd karchive
- mkdir build - mkdir build
@ -107,7 +116,7 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER% - cd %APPVEYOR_BUILD_FOLDER%
# install KImageFormats # install KImageFormats
- cd 3rdparty - cd 3rdparty
- git clone -b kf5 -q https://invent.kde.org/frameworks/kimageformats.git - git clone -b %KF_BRANCH% -q https://invent.kde.org/frameworks/kimageformats.git
- git rev-parse HEAD - git rev-parse HEAD
- cd kimageformats - cd kimageformats
- mkdir build - mkdir build
@ -119,19 +128,19 @@ build_script:
# finally... # finally...
- mkdir build - mkdir build
- cd build - cd build
- cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=mingw32-make -DCMAKE_INSTALL_PREFIX='%cd%' - cmake .. -G "Unix Makefiles" %PPIC_CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=mingw32-make -DCMAKE_INSTALL_PREFIX='%cd%'
- cmake --build . --config Release - cmake --build . --config Release
- cmake --build . --config Release --target install/strip - cmake --build . --config Release --target install/strip
# fixme: I don't know how to NOT make the binary installed to the ./bin/ folder... # fixme: I don't know how to NOT make the binary installed to the ./bin/ folder...
- cd bin - cd bin
- copy %APPVEYOR_BUILD_FOLDER%\LICENSE . - copy %APPVEYOR_BUILD_FOLDER%\LICENSE
- copy %CMAKE_INSTALL_PREFIX%\bin\libaom.dll - copy %CMAKE_INSTALL_PREFIX%\bin\libaom.dll
- copy %CMAKE_INSTALL_PREFIX%\bin\libexpat-1.dll - copy %CMAKE_INSTALL_PREFIX%\bin\libexpat-1.dll
- copy %CMAKE_INSTALL_PREFIX%\bin\libexiv2.dll - copy %CMAKE_INSTALL_PREFIX%\bin\libexiv2.dll
- copy %CMAKE_INSTALL_PREFIX%\bin\libavif.dll - copy %CMAKE_INSTALL_PREFIX%\bin\libavif.dll
- copy %CMAKE_INSTALL_PREFIX%\bin\libzlib.dll - copy %CMAKE_INSTALL_PREFIX%\bin\libzlib.dll
- copy C:\projects\cmake\bin\libKF5Archive.dll . - copy %CMAKE_INSTALL_PREFIX%\bin\libKF?Archive.dll
- windeployqt --verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-angle --no-system-d3d-compiler .\ppic.exe - windeployqt %WINDEPLOYQT_ARGS% .\ppic.exe
# copy 3rdparty licenses for the libs we vendored for windows... # copy 3rdparty licenses for the libs we vendored for windows...
- mkdir licenses - mkdir licenses
- cd licenses - cd licenses