From 884f800abc65f9227bbe31decbad57a8fbdaf86f Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Mon, 4 Nov 2024 16:17:20 +0900 Subject: [PATCH 1/6] Remove unneeded workaround for dash separated language strings Signed-off-by: Claudio Cambra --- src/gui/application.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/gui/application.cpp b/src/gui/application.cpp index ebcaa25fc0aa8..3510bbb8601fc 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -967,10 +967,8 @@ QString substLang(const QString &lang) void Application::setupTranslations() { - QStringList uiLanguages; - uiLanguages = QLocale::system().uiLanguages(); - - QString enforcedLocale = Theme::instance()->enforcedLocale(); + auto uiLanguages = QLocale::system().uiLanguages(QLocale::TagSeparator::Underscore); + const auto enforcedLocale = Theme::instance()->enforcedLocale(); if (!enforcedLocale.isEmpty()) { uiLanguages.prepend(enforcedLocale); } @@ -979,8 +977,7 @@ void Application::setupTranslations() auto *qtTranslator = new QTranslator(this); auto *qtkeychainTranslator = new QTranslator(this); - for (QString lang : qAsConst(uiLanguages)) { - lang.replace(QLatin1Char('-'), QLatin1Char('_')); // work around QTBUG-25973 + for (auto &lang : qAsConst(uiLanguages)) { lang = substLang(lang); const auto trPath = applicationTrPath(); const auto trFolder = QDir{trPath}; From befc8bff789592bcb569300bfc029eaaea5bc7db Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Mon, 4 Nov 2024 16:40:25 +0900 Subject: [PATCH 2/6] Only grab system language from QLocale::system Signed-off-by: Claudio Cambra --- src/gui/application.cpp | 93 +++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 50 deletions(-) diff --git a/src/gui/application.cpp b/src/gui/application.cpp index 3510bbb8601fc..48454bf0d8116 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -967,67 +967,60 @@ QString substLang(const QString &lang) void Application::setupTranslations() { - auto uiLanguages = QLocale::system().uiLanguages(QLocale::TagSeparator::Underscore); const auto enforcedLocale = Theme::instance()->enforcedLocale(); - if (!enforcedLocale.isEmpty()) { - uiLanguages.prepend(enforcedLocale); - } + const auto lang = substLang(!enforcedLocale.isEmpty() ? enforcedLocale : QLocale::system().name()); auto *translator = new QTranslator(this); auto *qtTranslator = new QTranslator(this); auto *qtkeychainTranslator = new QTranslator(this); - for (auto &lang : qAsConst(uiLanguages)) { - lang = substLang(lang); - const auto trPath = applicationTrPath(); - const auto trFolder = QDir{trPath}; - if (!trFolder.exists()) { - qCWarning(lcApplication()) << trPath << "folder containing translations is missing. Impossible to load translations"; - break; - } - const QString trFile = QLatin1String("client_") + lang; - qCDebug(lcApplication()) << "trying to load" << lang << "in" << trFile << "from" << trPath; - if (translator->load(trFile, trPath) || lang.startsWith(QLatin1String("en"))) { - // Permissive approach: Qt and keychain translations - // may be missing, but Qt translations must be there in order - // for us to accept the language. Otherwise, we try with the next. - // "en" is an exception as it is the default language and may not - // have a translation file provided. - qCInfo(lcApplication) << "Using" << lang << "translation"; - setProperty("ui_lang", lang); - const QString qtTrPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath); - const QString qtTrFile = QLatin1String("qt_") + lang; - const QString qtBaseTrFile = QLatin1String("qtbase_") + lang; - if (!qtTranslator->load(qtTrFile, qtTrPath)) { - if (!qtTranslator->load(qtTrFile, trPath)) { - if (!qtTranslator->load(qtBaseTrFile, qtTrPath)) { - if (!qtTranslator->load(qtBaseTrFile, trPath)) { - qCDebug(lcApplication()) << "impossible to load Qt translation catalog" << qtBaseTrFile; - } + const auto trPath = applicationTrPath(); + const auto trFolder = QDir{trPath}; + if (!trFolder.exists()) { + qCWarning(lcApplication()) << trPath << "folder containing translations is missing. Impossible to load translations"; + return; + } + const QString trFile = QLatin1String("client_") + lang; + qCDebug(lcApplication()) << "trying to load" << lang << "in" << trFile << "from" << trPath; + if (translator->load(trFile, trPath) || lang.startsWith(QLatin1String("en"))) { + // Permissive approach: Qt and keychain translations + // may be missing, but Qt translations must be there in order + // for us to accept the language. Otherwise, we try with the next. + // "en" is an exception as it is the default language and may not + // have a translation file provided. + qCInfo(lcApplication) << "Using" << lang << "translation"; + setProperty("ui_lang", lang); + const QString qtTrPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath); + const QString qtTrFile = QLatin1String("qt_") + lang; + const QString qtBaseTrFile = QLatin1String("qtbase_") + lang; + if (!qtTranslator->load(qtTrFile, qtTrPath)) { + if (!qtTranslator->load(qtTrFile, trPath)) { + if (!qtTranslator->load(qtBaseTrFile, qtTrPath)) { + if (!qtTranslator->load(qtBaseTrFile, trPath)) { + qCDebug(lcApplication()) << "impossible to load Qt translation catalog" << qtBaseTrFile; } } } - const QString qtkeychainTrFile = QLatin1String("qtkeychain_") + lang; - if (!qtkeychainTranslator->load(qtkeychainTrFile, qtTrPath)) { - if (!qtkeychainTranslator->load(qtkeychainTrFile, trPath)) { - qCDebug(lcApplication()) << "impossible to load QtKeychain translation catalog" << qtkeychainTrFile; - } - } - if (!translator->isEmpty()) - installTranslator(translator); - if (!qtTranslator->isEmpty()) - installTranslator(qtTranslator); - if (!qtkeychainTranslator->isEmpty()) - installTranslator(qtkeychainTranslator); - break; - } else { - qCWarning(lcApplication()) << "translation catalog failed to load"; - const auto folderContent = trFolder.entryList(); - qCDebug(lcApplication()) << "folder content" << folderContent.join(QStringLiteral(", ")); } - if (property("ui_lang").isNull()) { - setProperty("ui_lang", "C"); + const QString qtkeychainTrFile = QLatin1String("qtkeychain_") + lang; + if (!qtkeychainTranslator->load(qtkeychainTrFile, qtTrPath)) { + if (!qtkeychainTranslator->load(qtkeychainTrFile, trPath)) { + qCDebug(lcApplication()) << "impossible to load QtKeychain translation catalog" << qtkeychainTrFile; + } } + if (!translator->isEmpty()) + installTranslator(translator); + if (!qtTranslator->isEmpty()) + installTranslator(qtTranslator); + if (!qtkeychainTranslator->isEmpty()) + installTranslator(qtkeychainTranslator); + } else { + qCWarning(lcApplication()) << "translation catalog failed to load"; + const auto folderContent = trFolder.entryList(); + qCDebug(lcApplication()) << "folder content" << folderContent.join(QStringLiteral(", ")); + } + if (property("ui_lang").isNull()) { + setProperty("ui_lang", "C"); } } From 81bd3908204a03ad219bcbd06cdddfd553552e89 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Sun, 17 Nov 2024 23:10:49 +0800 Subject: [PATCH 3/6] Use first uiLanguage as lang Signed-off-by: Claudio Cambra --- src/gui/application.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/application.cpp b/src/gui/application.cpp index 48454bf0d8116..6c51d485c767c 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -968,7 +968,7 @@ QString substLang(const QString &lang) void Application::setupTranslations() { const auto enforcedLocale = Theme::instance()->enforcedLocale(); - const auto lang = substLang(!enforcedLocale.isEmpty() ? enforcedLocale : QLocale::system().name()); + const auto lang = substLang(!enforcedLocale.isEmpty() ? enforcedLocale : QLocale::system().uiLanguages(QLocale::TagSeparator::Underscore).first()); auto *translator = new QTranslator(this); auto *qtTranslator = new QTranslator(this); From 62e1f432e1ce9893515cdc5bc4d6024ed17cf341 Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Thu, 21 Nov 2024 14:24:24 +0100 Subject: [PATCH 4/6] add include QLocale to fix compilation issue Signed-off-by: Matthieu Gallien --- src/gui/application.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/application.cpp b/src/gui/application.cpp index 6c51d485c767c..9569c8bc1257c 100644 --- a/src/gui/application.cpp +++ b/src/gui/application.cpp @@ -59,6 +59,7 @@ #include #endif +#include #include #include #include From f6ea58fdea08e9e6249f28f47799b8bd0bc8c464 Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Fri, 22 Nov 2024 10:04:52 +0100 Subject: [PATCH 5/6] use CI images including Qt6.7 that is now required Signed-off-by: Matthieu Gallien --- .drone.yml | 22 +++++++++---------- .github/workflows/clang-tidy-review.yml | 4 ++-- .github/workflows/linux-appimage.yml | 4 ++-- .../workflows/linux-clang-compile-tests.yml | 4 ++-- .github/workflows/linux-gcc-compile-tests.yml | 4 ++-- .github/workflows/sonarcloud.yml | 4 ++-- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.drone.yml b/.drone.yml index 9b4e85a25663e..8e8b3c55a5e0a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,16 +4,16 @@ name: drone desktop client steps: - name: cmake - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 volumes: - name: build path: /drone/build commands: - cd /drone/build - - cmake /drone/src -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.6.3 -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DADD_E2E_TESTS=ON + - cmake /drone/src -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.7.3 -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DADD_E2E_TESTS=ON - name: compile - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 volumes: - name: build path: /drone/build @@ -22,7 +22,7 @@ steps: - ninja - name: test - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 volumes: - name: build path: /drone/build @@ -79,15 +79,15 @@ name: qt-5.15-clang steps: - name: cmake - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 volumes: - name: build path: /drone/build commands: - cd /drone/build - - cmake /drone/src -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.6.3 -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DADD_E2E_TESTS=ON + - cmake /drone/src -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.7.3 -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DADD_E2E_TESTS=ON - name: compile - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 volumes: - name: build path: /drone/build @@ -95,7 +95,7 @@ steps: - cd /drone/build - ninja - name: test - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 volumes: - name: build path: /drone/build @@ -152,14 +152,14 @@ name: AppImage steps: - name: build - image: ghcr.io/nextcloud/continuous-integration-client-appimage-qt6:client-appimage-6.6.3-2 + image: ghcr.io/nextcloud/continuous-integration-client-appimage-qt6:client-appimage-6.7.3-1 environment: CI_UPLOAD_GIT_TOKEN: from_secret: CI_UPLOAD_GIT_TOKEN CI_UPLOAD_GIT_USERNAME: from_secret: CI_UPLOAD_GIT_USERNAME commands: - - BUILDNR=$DRONE_BUILD_NUMBER VERSION_SUFFIX=$DRONE_PULL_REQUEST BUILD_UPDATER=ON DESKTOP_CLIENT_ROOT=$DRONE_WORKSPACE EXECUTABLE_NAME=nextcloud QT_BASE_DIR=/opt/qt6.6.3 OPENSSL_ROOT_DIR=/usr/local/lib64 /bin/bash -c "./admin/linux/build-appimage.sh" + - BUILDNR=$DRONE_BUILD_NUMBER VERSION_SUFFIX=$DRONE_PULL_REQUEST BUILD_UPDATER=ON DESKTOP_CLIENT_ROOT=$DRONE_WORKSPACE EXECUTABLE_NAME=nextcloud QT_BASE_DIR=/opt/qt6.7.3 OPENSSL_ROOT_DIR=/usr/local/lib64 /bin/bash -c "./admin/linux/build-appimage.sh" - BUILDNR=$DRONE_BUILD_NUMBER VERSION_SUFFIX=$DRONE_PULL_REQUEST DESKTOP_CLIENT_ROOT=$DRONE_WORKSPACE /bin/bash -c "./admin/linux/upload-appimage.sh" || echo "Upload failed, however this is an optional step." trigger: branch: @@ -206,6 +206,6 @@ trigger: - push --- kind: signature -hmac: fbdc01c6461fcc32d9ebff4be97340cbb6da5566643b60289504ed86b2a67583 +hmac: 1fbd0241ba0d4ea2702804324f4932b3f29d3d937ef75906a529cd00c4252a57 ... diff --git a/.github/workflows/clang-tidy-review.yml b/.github/workflows/clang-tidy-review.yml index 963e5e17efdcc..e818aed830c15 100644 --- a/.github/workflows/clang-tidy-review.yml +++ b/.github/workflows/clang-tidy-review.yml @@ -7,14 +7,14 @@ on: jobs: clang-tidy: runs-on: ubuntu-latest - container: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + container: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 steps: - uses: actions/checkout@v4 with: fetch-depth: 2 - name: Prepare compile_commands.json run: | - cmake -G Ninja -B build -DCMAKE_PREFIX_PATH=/opt/qt6.6.3 -DQT_MAJOR_VERSION=6 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DOPENSSL_ROOT_DIR=/usr/local/lib64 + cmake -G Ninja -B build -DCMAKE_PREFIX_PATH=/opt/qt6.7.3 -DQT_MAJOR_VERSION=6 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DOPENSSL_ROOT_DIR=/usr/local/lib64 cd build && ninja - name: Create results directory run: | diff --git a/.github/workflows/linux-appimage.yml b/.github/workflows/linux-appimage.yml index 7e908ee73619f..2c4bcd0b8d248 100644 --- a/.github/workflows/linux-appimage.yml +++ b/.github/workflows/linux-appimage.yml @@ -6,12 +6,12 @@ jobs: build: name: Linux Appimage Package runs-on: ubuntu-latest - container: ghcr.io/nextcloud/continuous-integration-client-appimage-qt6:client-appimage-6.6.3-2 + container: ghcr.io/nextcloud/continuous-integration-client-appimage-qt6:client-appimage-6.7.3-1 steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - name: Configure, compile and package run: | - BUILDNR=${GITHUB_RUN_ID} VERSION_SUFFIX=${GITHUB_HEAD_REF} BUILD_UPDATER=ON DESKTOP_CLIENT_ROOT=`pwd` EXECUTABLE_NAME=nextcloud QT_BASE_DIR=/opt/qt6.6.3 OPENSSL_ROOT_DIR=/usr/local/lib64 /bin/bash -c "./admin/linux/build-appimage.sh" + BUILDNR=${GITHUB_RUN_ID} VERSION_SUFFIX=${GITHUB_HEAD_REF} BUILD_UPDATER=ON DESKTOP_CLIENT_ROOT=`pwd` EXECUTABLE_NAME=nextcloud QT_BASE_DIR=/opt/qt6.7.3 OPENSSL_ROOT_DIR=/usr/local/lib64 /bin/bash -c "./admin/linux/build-appimage.sh" BUILDNR=${GITHUB_RUN_ID} VERSION_SUFFIX=${GITHUB_HEAD_REF} DESKTOP_CLIENT_ROOT=`pwd` /bin/bash -c "./admin/linux/upload-appimage.sh" || echo "Upload failed, however this is an optional step." diff --git a/.github/workflows/linux-clang-compile-tests.yml b/.github/workflows/linux-clang-compile-tests.yml index 6610e68450ddc..ce0a62b76792e 100644 --- a/.github/workflows/linux-clang-compile-tests.yml +++ b/.github/workflows/linux-clang-compile-tests.yml @@ -6,7 +6,7 @@ jobs: build: name: Linux Clang compilation and tests runs-on: ubuntu-latest - container: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + container: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 steps: - uses: actions/checkout@v4 with: @@ -15,7 +15,7 @@ jobs: run: | mkdir build cd build - cmake .. -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.6.3 -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 + cmake .. -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.7.3 -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 ninja - name: Run tests run: | diff --git a/.github/workflows/linux-gcc-compile-tests.yml b/.github/workflows/linux-gcc-compile-tests.yml index 795a85b36dbd8..8a4a0b6178924 100644 --- a/.github/workflows/linux-gcc-compile-tests.yml +++ b/.github/workflows/linux-gcc-compile-tests.yml @@ -6,7 +6,7 @@ jobs: build: name: Linux GCC compilation and tests runs-on: ubuntu-latest - container: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + container: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 steps: - uses: actions/checkout@v4 with: @@ -15,7 +15,7 @@ jobs: run: | mkdir build cd build - cmake .. -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.6.3 -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 + cmake .. -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.7.3 -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 ninja - name: Run tests run: | diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index e2d7e7feb5a9b..814dd4aefa3fa 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -6,7 +6,7 @@ jobs: build: name: SonarCloud analysis runs-on: ubuntu-latest - container: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.6.3-2 + container: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 env: SONAR_SERVER_URL: "https://sonarcloud.io" BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed @@ -25,7 +25,7 @@ jobs: run: | mkdir build cd build - cmake .. -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.6.3 -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DQT_MAJOR_VERSION=6 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DBUILD_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + cmake .. -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.7.3 -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DQT_MAJOR_VERSION=6 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DBUILD_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} ninja - name: Run tests run: | From 0ec73cb88561d8c1d4de88d45871677297a4a1cd Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Fri, 22 Nov 2024 10:05:32 +0100 Subject: [PATCH 6/6] we require Qt 6.7 release to build we use new API from Qt6.7 Signed-off-by: Matthieu Gallien --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0bc6c48e3473c..351b3eaa00c41 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,7 @@ set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") include(${CMAKE_SOURCE_DIR}/NEXTCLOUD.cmake) set(QT_VERSION_MAJOR "6") -set(REQUIRED_QT_VERSION "6.0.0") +set(REQUIRED_QT_VERSION "6.7.0") # CfAPI Shell Extensions set( CFAPI_SHELL_EXTENSIONS_LIB_NAME CfApiShellExtensions )