From 457dd0f62cb8fe41d3bbff4667da76a1062f0bff Mon Sep 17 00:00:00 2001 From: Paul Colby Date: Tue, 7 Jan 2025 21:58:05 +1100 Subject: [PATCH] Enable arm64 builds for Qt 6.8+ on Windows Squashed commit of the following: commit 116d38d89528231ec9734a14127c4982cda909d9 Author: Paul Colby Date: Tue Jan 7 21:57:24 2025 +1100 Restore Linux and macOS builds commit 904706fe3b12cdf0ea5e187c1ab1470581204318 Author: Paul Colby Date: Tue Jan 7 21:47:54 2025 +1100 Restore all other Windows builds commit ec336ba1cefce5d3cf61801749b0572f6c97388f Author: Paul Colby Date: Tue Jan 7 21:36:22 2025 +1100 Don't exclude arm64 for Qt 6.8+ commit 77533534255354db40fc12433c80a0a0c0582384 Author: Paul Colby Date: Tue Jan 7 21:27:00 2025 +1100 Exclude some more older Qt's commit 8f25872fe68f0a2629712811bb25f66e7bbf17fc Author: Paul Colby Date: Tue Jan 7 21:23:50 2025 +1100 Temporarily exclude ealier Qt versions commit beebec3631088903cffd37e25c38ef5f32e2fa6a Author: Paul Colby Date: Tue Jan 7 21:19:54 2025 +1100 Try re-enabling Windows arm64 builds with Qt 6.8 and 6.9 --- .github/workflows/build.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f3b19ef7a..8e4d47f0e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -367,10 +367,6 @@ jobs: - { arch: arm64, qt: '5.13.2' } - { arch: arm64, qt: '5.14.2' } - { arch: arm64, qt: '5.15.2' } - # Also exclude arm64 for Qt 6.8+ for now, as Qt 6.8 is moving to native-only (not cross-compiling) arm64 on - # Windows (https://www.qt.io/blog/qt-for-windows-on-arm-may21-update) and there are not compatible runners. - - { arch: arm64, qt: '6.8.1' } # \todo Qt 6.8.1 might have restored cross-compilation. - - { arch: arm64, qt: '6.9.0' } # \todo Qt 6.9.0 might have restored cross-compilation. # Exclude MinGW (including LLVM) builds for arm64, since Qt does not provide those binaries yet. - { arch: arm64, toolchain: llvm } - { arch: arm64, toolchain: mingw } @@ -469,9 +465,11 @@ jobs: - { qt: '6.7.3', toolchain: msvc, arch: x86-64, aqtArch: win64_msvc2019_64 } # { qt: '6.8.1', toolchain: llvm, arch: x86-64, aqtArch: win64_llvm_mingw } \todo See temp exclusion above. - { qt: '6.8.1', toolchain: mingw, arch: x86-64, aqtArch: win64_mingw } + - { qt: '6.8.1', toolchain: msvc, arch: arm64, aqtArch: win64_msvc2022_arm64_cross_compiled } - { qt: '6.8.1', toolchain: msvc, arch: x86-64, aqtArch: win64_msvc2022_64 } # { qt: '6.9.0', toolchain: llvm, arch: x86-64, aqtArch: win64_llvm_mingw } \todo See temp exclusion above. - { qt: '6.9.0', toolchain: mingw, arch: x86-64, aqtArch: win64_mingw } + - { qt: '6.9.0', toolchain: msvc, arch: arm64, aqtArch: win64_msvc2022_arm64_cross_compiled } - { qt: '6.9.0', toolchain: msvc, arch: x86-64, aqtArch: win64_msvc2022_64 } # Map the MSVC architecture. - { toolchain: msvc, arch: arm64, msvcArch: amd64_arm64 } @@ -512,7 +510,7 @@ jobs: uses: jurplel/install-qt-action@v4 with: version: ${{ matrix.qt }} - arch: win64_msvc2019_64 + arch: ${{ startsWith(matrix.aqtArch, 'win64_msvc2019') && 'win64_msvc2019' || 'win64_msvc2022' }}_64 set-env: false # \todo Use aqtinstall HEAD for Qt 6.8.1 and 6.9.0 support, until the fix for #843 is released (presumably in # aqtinstall 3.1.22. See https://github.com/miurahr/aqtinstall/issues/843