From afafe577fa1637792b59db8ade37bcc7593b1023 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Tue, 10 Jun 2025 11:26:37 +0300 Subject: [PATCH] CMake: build QGnomePortalInterface always when DBus is available Builds with DBus but without XCB/Wayland, failed with: qgnometheme.cpp:(.text+0x3ec): undefined reference to `vtable for QGnomePortalInterface' /usr/bin/ld: src/gui/CMakeFiles/Gui.dir/platform/unix/qgnometheme.cpp.o: in function `QGnomeThemePrivate::QGnomeThemePrivate()': Change CMake configuration and build QGnomePortalInterface always with DBus, except on Apple platforms, where it is not needed. Change-Id: I3fb6400d87ba08f03c30e33924c8c7d483486c3b Reviewed-by: MohammadHossein Qanbari Reviewed-by: Axel Spoerl (cherry picked from commit ccb854799dbdb084749f7c816221f8d1b17164ea) Reviewed-by: Qt Cherry-pick Bot --- src/gui/CMakeLists.txt | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index db7c0590611..1b210e1f420 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -1059,11 +1059,6 @@ qt_internal_extend_target(Gui CONDITION UNIX AND (QT_FEATURE_xcb OR NOT MACOS) A platform/unix/qgnometheme_p.h platform/unix/qgnometheme.cpp ) -qt_internal_extend_target(Gui CONDITION UNIX AND QT_FEATURE_dbus AND (QT_FEATURE_xcb OR QT_FEATURE_wayland) - SOURCES - platform/unix/qgnomeportalinterface.cpp platform/unix/qgnomeportalinterface_p.h -) - qt_internal_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT) SOURCES platform/unix/dbusmenu/qdbusmenuadaptor.cpp platform/unix/dbusmenu/qdbusmenuadaptor_p.h @@ -1074,6 +1069,7 @@ qt_internal_extend_target(Gui CONDITION TARGET Qt::DBus AND UNIX AND (QT_FEATURE platform/unix/dbusmenu/qdbusplatformmenu.cpp platform/unix/dbusmenu/qdbusplatformmenu_p.h platform/unix/qdbuslistener_p.h platform/unix/qdbuslistener.cpp platform/unix/qdbussettings_p.h platform/unix/qdbussettings.cpp + platform/unix/qgnomeportalinterface.cpp platform/unix/qgnomeportalinterface_p.h ) qt_internal_extend_target(Gui CONDITION QT_FEATURE_systemtrayicon AND TARGET Qt::DBus AND UNIX AND (QT_FEATURE_xcb OR NOT MACOS) AND (QT_FEATURE_xcb OR NOT UIKIT)