diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-10-02 13:25:57 +0200 |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2020-10-05 09:13:18 +0200 |
commit | 9c8e59a7a6b0cfaa7caf899bdb577270c83b9a12 (patch) | |
tree | a30bfc3480a022c3163a3bca1d3aaef357a6219a | |
parent | 6a7c6eedbaf00b1f2102247810987b6d9246f34e (diff) | |
download | qtwayland-9c8e59a7a6b0cfaa7caf899bdb577270c83b9a12.tar.gz |
Build with -no-opengl
Fix build when Qt is built with -no-opengl:
1. Certain includes have to be conditional on QT_CONFIG(opengl),
just like the code that uses them.
2. After 585f20dce37c398d8b2e6367008e3329dac79e24, the
ClientBufferIntegration is used even with a software-raster
compositor, so we need to include this class in the build.
3. The wayland-scanner-generated header files are unconditionally
installed through sync.profile and there is no way to exclude it
there based on Qt configuration, which causes errors when doing
make install. The easy fix for this is to generate the headers
even though they will not be used anywhere.
Fixes: QTBUG-86291
Change-Id: I671b6345cbc7138309e20fe62e09513f191cd3fe
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit cab51443ed9246c14255dcb295764f4d15cffaa1)
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
5 files changed, 23 insertions, 16 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickcompositor.cpp b/src/compositor/compositor_api/qwaylandquickcompositor.cpp index 2b025848..49f0860e 100644 --- a/src/compositor/compositor_api/qwaylandquickcompositor.cpp +++ b/src/compositor/compositor_api/qwaylandquickcompositor.cpp @@ -30,9 +30,11 @@ #include <QtQml/QQmlEngine> #include <QQuickWindow> -#include <QOpenGLTextureBlitter> -#include <QOpenGLTexture> -#include <QOpenGLFramebufferObject> +#if QT_CONFIG(opengl) +# include <QOpenGLTextureBlitter> +# include <QOpenGLTexture> +# include <QOpenGLFramebufferObject> +#endif #include <QMatrix4x4> #include <QRunnable> diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp index c9a2e9fc..15f0195c 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -42,11 +42,14 @@ #include <QtWaylandCompositor/private/qwlclientbufferintegration_p.h> #include <QtWaylandCompositor/private/qwaylandsurface_p.h> +#if QT_CONFIG(opengl) +# include <QtGui/QOpenGLTexture> +# include <QtGui/QOpenGLFunctions> +#endif + #include <QtGui/QKeyEvent> #include <QtGui/QGuiApplication> #include <QtGui/QScreen> -#include <QtGui/QOpenGLFunctions> -#include <QtGui/QOpenGLTexture> #include <QtQuick/QSGSimpleTextureNode> #include <QtQuick/QQuickWindow> diff --git a/src/compositor/compositor_api/qwaylandquicksurface.cpp b/src/compositor/compositor_api/qwaylandquicksurface.cpp index 8b2f13a3..8808b6a4 100644 --- a/src/compositor/compositor_api/qwaylandquicksurface.cpp +++ b/src/compositor/compositor_api/qwaylandquicksurface.cpp @@ -28,7 +28,6 @@ ****************************************************************************/ #include <QSGTexture> -#include <QOpenGLTexture> #include <QQuickWindow> #include <QDebug> diff --git a/src/compositor/extensions/extensions.pri b/src/compositor/extensions/extensions.pri index 64b1439b..e52bbfd6 100644 --- a/src/compositor/extensions/extensions.pri +++ b/src/compositor/extensions/extensions.pri @@ -17,6 +17,7 @@ WAYLANDSERVERSOURCES += \ ../3rdparty/protocol/xdg-output-unstable-v1.xml \ ../3rdparty/protocol/ivi-application.xml \ ../3rdparty/protocol/idle-inhibit-unstable-v1.xml \ + ../extensions/qt-texture-sharing-unstable-v1.xml \ HEADERS += \ extensions/qwlqttouch_p.h \ @@ -98,9 +99,6 @@ qtHaveModule(quick) { extensions/qwaylandxdgshellintegration.cpp \ qtConfig(opengl) { - WAYLANDSERVERSOURCES += \ - ../extensions/qt-texture-sharing-unstable-v1.xml - HEADERS += \ extensions/qwltexturesharingextension_p.h diff --git a/src/compositor/hardware_integration/hardware_integration.pri b/src/compositor/hardware_integration/hardware_integration.pri index 6bf7a75b..bb21e3d8 100644 --- a/src/compositor/hardware_integration/hardware_integration.pri +++ b/src/compositor/hardware_integration/hardware_integration.pri @@ -1,11 +1,17 @@ -qtConfig(opengl) { - CONFIG += wayland-scanner - WAYLANDSERVERSOURCES += \ - ../extensions/server-buffer-extension.xml \ - ../extensions/hardware-integration.xml \ +CONFIG += wayland-scanner +WAYLANDSERVERSOURCES += \ + ../extensions/server-buffer-extension.xml \ + ../extensions/hardware-integration.xml \ + +HEADERS += \ + hardware_integration/qwlclientbufferintegration_p.h \ + +SOURCES += \ + hardware_integration/qwlclientbufferintegration.cpp \ + +qtConfig(opengl) { HEADERS += \ - hardware_integration/qwlclientbufferintegration_p.h \ hardware_integration/qwlclientbufferintegrationfactory_p.h \ hardware_integration/qwlclientbufferintegrationplugin_p.h \ hardware_integration/qwlserverbufferintegration_p.h \ @@ -17,7 +23,6 @@ qtConfig(opengl) { hardware_integration/qwlhardwarelayerintegrationplugin_p.h \ SOURCES += \ - hardware_integration/qwlclientbufferintegration.cpp \ hardware_integration/qwlclientbufferintegrationfactory.cpp \ hardware_integration/qwlclientbufferintegrationplugin.cpp \ hardware_integration/qwlserverbufferintegration.cpp \ |