From 819e5b5bc432953b34ae7ad0e1de2640c5feb0e3 Mon Sep 17 00:00:00 2001 From: firewave Date: Mon, 27 Feb 2023 16:02:23 +0100 Subject: [PATCH 1/3] gui.pro: bail out when it is used with Qt6 - we only support that via CMake --- gui/gui.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/gui/gui.pro b/gui/gui.pro index 186426dae81..3261d4d7eea 100644 --- a/gui/gui.pro +++ b/gui/gui.pro @@ -1,4 +1,5 @@ lessThan(QT_MAJOR_VERSION, 5): error(requires >= Qt 5 (You used: $$QT_VERSION)) +greaterThan(QT_MAJOR_VERSION, 5): error(Qt 6 is not supported via qmake - please use CMake instead) TEMPLATE = app TARGET = cppcheck-gui From d3d63bb04415fb977f0c33a491e1603c86544d74 Mon Sep 17 00:00:00 2001 From: firewave Date: Mon, 27 Feb 2023 16:04:55 +0100 Subject: [PATCH 2/3] findDependencies.cmake: no longer fall back to Qt5 when Qt6 is not found with `USE_QT6` enabled / added TODO --- cmake/findDependencies.cmake | 15 +++++---------- releasenotes.txt | 1 + 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake index 3ad0e366f21..6f31bff00e4 100644 --- a/cmake/findDependencies.cmake +++ b/cmake/findDependencies.cmake @@ -7,18 +7,10 @@ if (BUILD_GUI) list(APPEND qt_components Test) endif() if (USE_QT6) - find_package(Qt6 COMPONENTS ${qt_components} QUIET) - endif() - if (NOT Qt6Core_FOUND) - find_package(Qt5 COMPONENTS ${qt_components} REQUIRED) - set(QT_VERSION "${Qt5Core_VERSION_STRING}") - else() - # detect faulty Qt6 installation by jurplel/install-qt-action@v2 - if (WITH_QCHART AND NOT Qt6Charts_FOUND) - message(FATAL_ERROR "QtCharts not found") - endif() + find_package(Qt6 COMPONENTS ${qt_components} REQUIRED) set(QT_VERSION "${Qt6Core_VERSION_STRING}") if (NOT QT_VERSION) + # TODO: how to get the actual version? message(WARNING "'Qt6Core_VERSION_STRING' is not set - using 6.0.0 as fallback") set(QT_VERSION "6.0.0") endif() @@ -31,6 +23,9 @@ if (BUILD_GUI) # https://bugreports.qt.io/browse/QTBUG-86395 set(DISABLE_CRTDBG_MAP_ALLOC ON) endif() + else() + find_package(Qt5 COMPONENTS ${qt_components} REQUIRED) + set(QT_VERSION "${Qt5Core_VERSION_STRING}") endif() endif() diff --git a/releasenotes.txt b/releasenotes.txt index 225e5b67917..37be15ec1c6 100644 --- a/releasenotes.txt +++ b/releasenotes.txt @@ -9,3 +9,4 @@ GUI: Changed interface: Other: +- "USE_QT6=On" will no longer fallback to Qt5 when Qt6 is not found. From 571be604e2bc76edded0536cd40c1292e34c1d2d Mon Sep 17 00:00:00 2001 From: firewave Date: Mon, 27 Feb 2023 16:06:30 +0100 Subject: [PATCH 3/3] deprecated qmake build system --- gui/gui.pro | 2 ++ readme.md | 2 ++ releasenotes.txt | 3 +++ 3 files changed, 7 insertions(+) diff --git a/gui/gui.pro b/gui/gui.pro index 3261d4d7eea..b3d4c9da97e 100644 --- a/gui/gui.pro +++ b/gui/gui.pro @@ -1,6 +1,8 @@ lessThan(QT_MAJOR_VERSION, 5): error(requires >= Qt 5 (You used: $$QT_VERSION)) greaterThan(QT_MAJOR_VERSION, 5): error(Qt 6 is not supported via qmake - please use CMake instead) +message("Building the GUI via qmake is deprecated and will be removed in a future release. Please use CMake instead.") + TEMPLATE = app TARGET = cppcheck-gui CONFIG += warn_on debug diff --git a/readme.md b/readme.md index ccb6ae17d10..5094fa050cd 100644 --- a/readme.md +++ b/readme.md @@ -86,6 +86,8 @@ cmake --build . --config RelWithDebInfo ### qmake +NOTE: This has been deprecated and will be removed in a future version. Please use CMake instead. + You can use the gui/gui.pro file to build the GUI. ```shell diff --git a/releasenotes.txt b/releasenotes.txt index 37be15ec1c6..11e93c23959 100644 --- a/releasenotes.txt +++ b/releasenotes.txt @@ -8,5 +8,8 @@ GUI: Changed interface: +Deprecations: +- The qmake build system has been deprecated and will be removed in a future version. + Other: - "USE_QT6=On" will no longer fallback to Qt5 when Qt6 is not found.