Skip to content

Fix compatibility with Qt 6.7 #198

Fix compatibility with Qt 6.7

Fix compatibility with Qt 6.7 #198

Workflow file for this run

name: Win64-CI
on:
push:
branches: [master]
pull_request:
jobs:
build:
runs-on: windows-2019
name: "Windows-x64-Qt${{ matrix.cfg.qt_version }}"
strategy:
matrix:
cfg:
- kf_version: "5.115"
kf_fullver: "5.115.0"
qt_version: "5.15.2"
cmake_generator: "Visual Studio 16 2019"
kf_cmake_args: ""
build_installer: "$false"
deploy_openssl: "$true"
- kf_version: "6.0"
kf_fullver: "6.0.0"
qt_version: "6.5.3"
cmake_generator: "Visual Studio 16 2019"
kf_cmake_args: "-DBUILD_WITH_QT6=ON"
build_installer: "$true"
deploy_openssl: "$false"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
arch: win64_msvc2019_64
version: ${{ matrix.cfg.qt_version }}
- name: Build Qt Libs
run: |
mkdir build_deps
cd build_deps
curl -LO https://download.kde.org/stable/frameworks/${{ matrix.cfg.kf_version }}/extra-cmake-modules-${{ matrix.cfg.kf_fullver }}.tar.xz
curl -LO https://download.kde.org/stable/frameworks/${{ matrix.cfg.kf_version }}/syntax-highlighting-${{ matrix.cfg.kf_fullver }}.tar.xz
cmake -E tar xf extra-cmake-modules-${{ matrix.cfg.kf_fullver }}.tar.xz
cd extra-cmake-modules-${{ matrix.cfg.kf_fullver }}
mkdir build
cd build
cmake -G "${{ matrix.cfg.cmake_generator }}" -A x64 `
"-DCMAKE_PREFIX_PATH=${Env:RUNNER_WORKSPACE}/Qt/${{ matrix.cfg.qt_version }}/msvc2019_64" `
"-DCMAKE_INSTALL_PREFIX=${Env:RUNNER_WORKSPACE}/Qt/${{ matrix.cfg.qt_version }}/msvc2019_64" `
-DCMAKE_BUILD_TYPE=Release ${{ matrix.cfg.kf_cmake_args }} ..
cmake --build . --config Release --target install
cd ..\..
cmake -E tar xf syntax-highlighting-${{ matrix.cfg.kf_fullver }}.tar.xz
cd syntax-highlighting-${{ matrix.cfg.kf_fullver }}
mkdir build && cd build
cmake -G "${{ matrix.cfg.cmake_generator }}" -A x64 `
"-DCMAKE_PREFIX_PATH=${Env:RUNNER_WORKSPACE}/Qt/${{ matrix.cfg.qt_version }}/msvc2019_64" `
"-DCMAKE_INSTALL_PREFIX=${Env:RUNNER_WORKSPACE}/Qt/${{ matrix.cfg.qt_version }}/msvc2019_64" `
-DCMAKE_BUILD_TYPE=Release ${{ matrix.cfg.kf_cmake_args }} ..
cmake --build . --config Release
cmake --build . --config Release --target install
- name: Build qtextpad
run: |
mkdir build
cd build
cmake -G "${{ matrix.cfg.cmake_generator }}" -A x64 `
"-DCMAKE_PREFIX_PATH=${Env:RUNNER_WORKSPACE}/Qt/${{ matrix.cfg.qt_version }}/msvc2019_64" `
"-DCMAKE_INSTALL_PREFIX=${Env:GITHUB_WORKSPACE}/dist/qtextpad-win64" `
-DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release
cmake --build . --config Release --target install
- name: Package qtextpad
run: |
$buildver = ((git describe --dirty) | Out-String).Trim()
$buildver += "-qt" + "${{ matrix.cfg.qt_version }}"[0]
$Env:VCINSTALLDIR = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC"
cd "${Env:GITHUB_WORKSPACE}\dist"
windeployqt qtextpad-win64\qtextpad.exe --release --no-opengl-sw --no-system-d3d-compiler
copy -Path "${Env:GITHUB_WORKSPACE}\COPYING", `
"${Env:RUNNER_WORKSPACE}\Qt\${{ matrix.cfg.qt_version }}\msvc2019_64\bin\KF*SyntaxHighlighting.dll" `
-Destination qtextpad-win64
cmake -E copy_directory "${Env:RUNNER_WORKSPACE}\Qt\${{ matrix.cfg.qt_version }}\msvc2019_64\bin\data" `
qtextpad-win64\data
windeployqt qtextpad-win64\KF*SyntaxHighlighting.dll --release --no-opengl-sw --no-system-d3d-compiler
# OpenSSL libs are required for the online repository update in Qt5,
# but Qt6 can use the Windows SChannel backend instead
if (${{ matrix.cfg.deploy_openssl }}) {
copy -Path `
"C:\Program Files\OpenSSL\bin\libcrypto-1_1-x64.dll", `
"C:\Program Files\OpenSSL\bin\libssl-1_1-x64.dll" `
-Destination qtextpad-win64
} else {
del qtextpad-win64\tls\qopensslbackend.dll
}
cmake -E tar cf "..\qtextpad-win64-${buildver}.zip" --format=zip qtextpad-win64
cd ..\win32
cmake -E tar xf "..\qtextpad-win64-${buildver}.zip"
if (${{ matrix.cfg.build_installer }}) {
iscc setup.iss
cmake -E rename qtextpad-win64.exe "..\qtextpad-win64-${buildver}.exe"
}
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: QTextPad-win64-qt${{ matrix.cfg.qt_version }}
path: qtextpad-win64-*.*