From 44daee5efc4083eaa0f96226e16b70de85f75571 Mon Sep 17 00:00:00 2001 From: Holden Date: Tue, 26 Nov 2024 21:40:25 -0500 Subject: [PATCH] Update to Qt 6.7 --- .github/actions/qt-android/action.yml | 8 ++++---- .github/workflows/android-linux.yml | 4 ++-- .github/workflows/android-macos.yml | 2 +- .github/workflows/android-windows.yml | 2 +- .github/workflows/ios.yml | 2 +- .github/workflows/linux.yml | 4 ++-- .github/workflows/macos.yml | 2 +- .github/workflows/windows.yml | 2 +- CMakeLists.txt | 13 +++++++------ deploy/docker/Dockerfile-build-ubuntu | 2 +- deploy/vagrant/.vagrantconfig.yml | 8 ++++---- docs/en/qgc-dev-guide/getting_started/index.md | 2 +- tools/setup/install-qt-debian.sh | 4 ++-- translations/qgc-lupdate.sh | 2 +- 14 files changed, 29 insertions(+), 28 deletions(-) diff --git a/.github/actions/qt-android/action.yml b/.github/actions/qt-android/action.yml index 9bc90bf3325a..ee871034d9bb 100644 --- a/.github/actions/qt-android/action.yml +++ b/.github/actions/qt-android/action.yml @@ -10,7 +10,7 @@ inputs: version: description: Qt Version required: false - default: 6.6.3 + default: 6.7.3 abis: description: ABIs to Build required: false @@ -27,15 +27,15 @@ runs: - name: Setup Android Environment uses: android-actions/setup-android@v3 with: - cmdline-tools-version: 11076708 - packages: 'platform-tools platforms;android-34 build-tools;34.0.0' # ndk;25.1.8937393' + cmdline-tools-version: 12266719 + packages: 'platform-tools platforms;android-34 build-tools;34.0.0' # ndk;26.1.10909125' log-accepted-android-sdk-licenses: false - name: Install Android NDK uses: nttld/setup-ndk@v1 id: setup-ndk with: - ndk-version: r25b + ndk-version: r26b add-to-path: false - run: | diff --git a/.github/workflows/android-linux.yml b/.github/workflows/android-linux.yml index be85b07fd790..bf061055a43c 100644 --- a/.github/workflows/android-linux.yml +++ b/.github/workflows/android-linux.yml @@ -33,7 +33,7 @@ jobs: env: ARTIFACT: QGroundControl.apk - QT_VERSION: 6.6.3 + QT_VERSION: 6.7.3 GST_VERSION: 1.22.12 QT_ANDROID_KEYSTORE_PATH: ${{ github.workspace }}/deploy/android/android_release.keystore QT_ANDROID_KEYSTORE_ALIAS: QGCAndroidKeyStore @@ -68,7 +68,7 @@ jobs: uses: ./.github/actions/qt-android with: host: linux - arch: gcc_64 + arch: linux_gcc_64 version: ${{ env.QT_VERSION }} abis: ${{ env.QT_ANDROID_ABIS }} diff --git a/.github/workflows/android-macos.yml b/.github/workflows/android-macos.yml index f26161174519..a637472ac210 100644 --- a/.github/workflows/android-macos.yml +++ b/.github/workflows/android-macos.yml @@ -17,7 +17,7 @@ jobs: env: ARTIFACT: QGroundControl.apk - QT_VERSION: 6.6.3 + QT_VERSION: 6.7.3 GST_VERSION: 1.22.12 QT_ANDROID_KEYSTORE_PATH: ${{ github.workspace }}/deploy/android/android_release.keystore QT_ANDROID_KEYSTORE_ALIAS: QGCAndroidKeyStore diff --git a/.github/workflows/android-windows.yml b/.github/workflows/android-windows.yml index 4851c2025595..081f2eb83a0a 100644 --- a/.github/workflows/android-windows.yml +++ b/.github/workflows/android-windows.yml @@ -33,7 +33,7 @@ jobs: env: ARTIFACT: QGroundControl.apk - QT_VERSION: 6.6.3 + QT_VERSION: 6.7.3 GST_VERSION: 1.22.12 QT_ANDROID_KEYSTORE_PATH: ${{ github.workspace }}/deploy/android/android_release.keystore QT_ANDROID_KEYSTORE_ALIAS: QGCAndroidKeyStore diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index b0f4f0d7f323..fdcffa1d3265 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -17,7 +17,7 @@ jobs: env: ARTIFACT: QGroundControl.app - QT_VERSION: 6.6.3 + QT_VERSION: 6.7.3 GST_VERSION: 1.22.12 steps: diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 222dfaa64429..8e3256bf0e96 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -35,7 +35,7 @@ jobs: env: ARTIFACT: QGroundControl-x86_64.AppImage - QT_VERSION: 6.6.3 + QT_VERSION: 6.7.3 GST_VERSION: 1.22.12 steps: @@ -96,7 +96,7 @@ jobs: aqtversion: ==3.1.* host: linux target: desktop - arch: gcc_64 + arch: linux_gcc_64 dir: ${{ runner.temp }} modules: qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d qtsensors cache: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 0fa99a0db16a..bee1561f1cbb 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -35,7 +35,7 @@ jobs: env: ARTIFACT: QGroundControl.dmg - QT_VERSION: 6.6.3 + QT_VERSION: 6.7.3 GST_VERSION: 1.22.12 steps: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index c8eaa9331ef0..08d4984543aa 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -36,7 +36,7 @@ jobs: env: ARTIFACT: QGroundControl-installer.exe - QT_VERSION: 6.6.3 + QT_VERSION: 6.7.3 GST_VERSION: 1.22.12 SCCACHE_GHA_ENABLED: "true" diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d438c553884..425d783cb95e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -193,9 +193,11 @@ if(NOT Qt6LinguistTools_DIR) set(Qt6LinguistTools_DIR ${QT_HOST_PATH}/lib/cmake/Qt6LinguistTools) endif() -# Require 6.6.3 because otherwise libQt6QuickControls2Basic.so.6 & -# libQt6QuickControls2BasicStyleImpl.so.6 are missing. -qt_standard_project_setup(REQUIRES 6.6.3) +qt_standard_project_setup( + REQUIRES 6.7.3 + SUPPORTS_UP_TO 6.7.3 + I18N_SOURCE_LANGUAGE en +) qt_policy( SET QTP0001 NEW @@ -289,10 +291,9 @@ qt_add_executable(${PROJECT_NAME} ) if(Qt6LinguistTools_FOUND) - # TODO: Update to new qt_add_translations form in Qt6.7 file(GLOB TS_SOURCES ${CMAKE_SOURCE_DIR}/translations/qgc_*.ts) set_source_files_properties(${TS_SOURCES} PROPERTIES OUTPUT_LOCATION "${CMAKE_BINARY_DIR}/i18n") - qt_add_translations(${PROJECT_NAME} + qt_add_translations(${CMAKE_PROJECT_NAME} TS_FILES ${TS_SOURCES} RESOURCE_PREFIX "/" LUPDATE_OPTIONS -no-obsolete @@ -419,7 +420,7 @@ elseif(ANDROID) set_target_properties(${PROJECT_NAME} PROPERTIES # QT_ANDROID_ABIS ${ANDROID_ABI} - QT_ANDROID_MIN_SDK_VERSION 25 + QT_ANDROID_MIN_SDK_VERSION 26 QT_ANDROID_TARGET_SDK_VERSION 35 QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/android QT_ANDROID_VERSION_NAME ${CMAKE_PROJECT_VERSION} diff --git a/deploy/docker/Dockerfile-build-ubuntu b/deploy/docker/Dockerfile-build-ubuntu index 2e44e7154d49..d0694e9565b6 100644 --- a/deploy/docker/Dockerfile-build-ubuntu +++ b/deploy/docker/Dockerfile-build-ubuntu @@ -1,6 +1,6 @@ FROM ubuntu:22.04 -ARG QT_VERSION=6.6.3 +ARG QT_VERSION=6.7.3 ARG QT_MODULES="qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d qtsensors" ENV DEBIAN_FRONTEND noninteractive diff --git a/deploy/vagrant/.vagrantconfig.yml b/deploy/vagrant/.vagrantconfig.yml index cd8554523871..bfd0bcd04acf 100644 --- a/deploy/vagrant/.vagrantconfig.yml +++ b/deploy/vagrant/.vagrantconfig.yml @@ -3,10 +3,10 @@ configs: 'qt_deps_unpack_parent_dir': '/home/vagrant' 'qt_deps_unpack_dir': '/home/vagrant/Qt' - 'qt_deps_bin_unpack_dir': '/home/vagrant/Qt/6.6.3/gcc_64/bin' - 'qt_deps_lib_unpack_dir': '/home/vagrant/Qt/6.6.3/gcc_64/lib' - 'qt_deps_plugins_unpack_dir': '/home/vagrant/Qt/6.6.3/gcc_64/plugins' - 'qt_deps_qml_unpack_dir': '/home/vagrant/Qt/6.6.3/gcc_64/qml' + 'qt_deps_bin_unpack_dir': '/home/vagrant/Qt/6.7.3/gcc_64/bin' + 'qt_deps_lib_unpack_dir': '/home/vagrant/Qt/6.7.3/gcc_64/lib' + 'qt_deps_plugins_unpack_dir': '/home/vagrant/Qt/6.7.3/gcc_64/plugins' + 'qt_deps_qml_unpack_dir': '/home/vagrant/Qt/6.7.3/gcc_64/qml' 'project_root_dir': '/vagrant' diff --git a/docs/en/qgc-dev-guide/getting_started/index.md b/docs/en/qgc-dev-guide/getting_started/index.md index 4af9646c6337..b72c5e9eb8a5 100644 --- a/docs/en/qgc-dev-guide/getting_started/index.md +++ b/docs/en/qgc-dev-guide/getting_started/index.md @@ -1,5 +1,5 @@ --- -qt_version: 6.6.3 +qt_version: 6.7.3 --- # Getting Started with Source and Builds diff --git a/tools/setup/install-qt-debian.sh b/tools/setup/install-qt-debian.sh index 6ba4521b86c8..1f6dad74551d 100755 --- a/tools/setup/install-qt-debian.sh +++ b/tools/setup/install-qt-debian.sh @@ -1,10 +1,10 @@ #!/usr/bin/env bash -QT_VERSION="${QT_VERSION:-6.6.3}" +QT_VERSION="${QT_VERSION:-6.7.3}" QT_PATH="${QT_PATH:-/opt/Qt}" QT_HOST="${QT_HOST:-linux}" QT_TARGET="${QT_TARGET:-desktop}" -QT_ARCH="${QT_ARCH:-gcc_64}" +QT_ARCH="${QT_ARCH:-linux_gcc_64}" QT_MODULES="${QT_MODULES:-qtcharts qtlocation qtpositioning qtspeech qt5compat qtmultimedia qtserialport qtimageformats qtshadertools qtconnectivity qtquick3d qtsensors}" set -e diff --git a/translations/qgc-lupdate.sh b/translations/qgc-lupdate.sh index 6923472a05fc..b3eee1cd8857 100755 --- a/translations/qgc-lupdate.sh +++ b/translations/qgc-lupdate.sh @@ -1,5 +1,5 @@ #!/bin/bash # This script will update both the Qt and Json string translation files. -QT_PATH=~/Qt/6.6.3/macos/bin +QT_PATH=~/Qt/6.7.3/macos/bin $QT_PATH/lupdate ../src -ts qgc.ts -no-obsolete python3 qgc-lupdate-json.py