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-02 14:12:13 +0200 |
commit | cab51443ed9246c14255dcb295764f4d15cffaa1 (patch) | |
tree | 5bbf247ea9d490b2ab27110ef4a0aa67d27c6a0e | |
parent | e823131e6fbd3e6e4c089b0ec860285cc4994195 (diff) | |
download | qtwayland-cab51443ed9246c14255dcb295764f4d15cffaa1.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
Pick-to: 5.15
Change-Id: I671b6345cbc7138309e20fe62e09513f191cd3fe
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
-rw-r--r-- | src/compositor/.prev_CMakeLists.txt | 22 | ||||
-rw-r--r-- | src/compositor/CMakeLists.txt | 22 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickcompositor.cpp | 8 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickitem.cpp | 6 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandquicksurface.cpp | 1 | ||||
-rw-r--r-- | src/compositor/extensions/extensions.pri | 4 | ||||
-rw-r--r-- | src/compositor/hardware_integration/hardware_integration.pri | 19 |
7 files changed, 30 insertions, 52 deletions
diff --git a/src/compositor/.prev_CMakeLists.txt b/src/compositor/.prev_CMakeLists.txt index 4f3a5200..c79764e2 100644 --- a/src/compositor/.prev_CMakeLists.txt +++ b/src/compositor/.prev_CMakeLists.txt @@ -47,6 +47,7 @@ qt_internal_add_module(WaylandCompositor global/qwaylandcompositorextension.cpp global/qwaylandcompositorextension.h global/qwaylandcompositorextension_p.h global/qwaylandquickextension.h global/qwaylandutils_p.h + hardware_integration/qwlclientbufferintegration.cpp hardware_integration/qwlclientbufferintegration_p.h wayland_wrapper/qwlbuffermanager.cpp wayland_wrapper/qwlbuffermanager_p.h wayland_wrapper/qwlclientbuffer.cpp wayland_wrapper/qwlclientbuffer_p.h wayland_wrapper/qwlregion.cpp wayland_wrapper/qwlregion_p.h @@ -97,9 +98,12 @@ qt6_generate_wayland_protocol_server_sources(WaylandCompositor ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-decoration-unstable-v1.xml ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-output-unstable-v1.xml ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-shell.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/hardware-integration.xml ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-key-unstable-v1.xml ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-text-input-method-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-texture-sharing-unstable-v1.xml ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-windowmanager.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/server-buffer-extension.xml ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/touch-extension.xml ) @@ -109,18 +113,8 @@ qt6_generate_wayland_protocol_server_sources(WaylandCompositor ## Scopes: ##################################################################### -if(QT_FEATURE_opengl) - - qt6_generate_wayland_protocol_server_sources(WaylandCompositor - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/hardware-integration.xml - ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/server-buffer-extension.xml - ) -endif() - qt_internal_extend_target(WaylandCompositor CONDITION QT_FEATURE_opengl SOURCES - hardware_integration/qwlclientbufferintegration.cpp hardware_integration/qwlclientbufferintegration_p.h hardware_integration/qwlclientbufferintegrationfactory.cpp hardware_integration/qwlclientbufferintegrationfactory_p.h hardware_integration/qwlclientbufferintegrationplugin.cpp hardware_integration/qwlclientbufferintegrationplugin_p.h hardware_integration/qwlhardwarelayerintegration.cpp hardware_integration/qwlhardwarelayerintegration_p.h @@ -194,14 +188,6 @@ qt_internal_extend_target(WaylandCompositor CONDITION QT_FEATURE_draganddrop compositor_api/qwaylanddrag.cpp compositor_api/qwaylanddrag.h ) -if(QT_FEATURE_opengl AND QT_FEATURE_wayland_compositor_quick) - - qt6_generate_wayland_protocol_server_sources(WaylandCompositor - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-texture-sharing-unstable-v1.xml - ) -endif() - qt_internal_extend_target(WaylandCompositor CONDITION QT_FEATURE_opengl AND QT_FEATURE_wayland_compositor_quick SOURCES compositor_api/qwaylandquickhardwarelayer.cpp compositor_api/qwaylandquickhardwarelayer_p.h diff --git a/src/compositor/CMakeLists.txt b/src/compositor/CMakeLists.txt index 11156f56..bb887942 100644 --- a/src/compositor/CMakeLists.txt +++ b/src/compositor/CMakeLists.txt @@ -55,6 +55,7 @@ qt_internal_add_module(WaylandCompositor global/qwaylandcompositorextension.cpp global/qwaylandcompositorextension.h global/qwaylandcompositorextension_p.h global/qwaylandquickextension.h global/qwaylandutils_p.h + hardware_integration/qwlclientbufferintegration.cpp hardware_integration/qwlclientbufferintegration_p.h wayland_wrapper/qwlbuffermanager.cpp wayland_wrapper/qwlbuffermanager_p.h wayland_wrapper/qwlclientbuffer.cpp wayland_wrapper/qwlclientbuffer_p.h wayland_wrapper/qwlregion.cpp wayland_wrapper/qwlregion_p.h @@ -105,9 +106,12 @@ qt6_generate_wayland_protocol_server_sources(WaylandCompositor ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-decoration-unstable-v1.xml ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-output-unstable-v1.xml ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-shell.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/hardware-integration.xml ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-key-unstable-v1.xml ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-text-input-method-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-texture-sharing-unstable-v1.xml ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-windowmanager.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/server-buffer-extension.xml ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/touch-extension.xml ) @@ -117,18 +121,8 @@ qt6_generate_wayland_protocol_server_sources(WaylandCompositor ## Scopes: ##################################################################### -if(QT_FEATURE_opengl) - - qt6_generate_wayland_protocol_server_sources(WaylandCompositor - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/hardware-integration.xml - ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/server-buffer-extension.xml - ) -endif() - qt_internal_extend_target(WaylandCompositor CONDITION QT_FEATURE_opengl SOURCES - hardware_integration/qwlclientbufferintegration.cpp hardware_integration/qwlclientbufferintegration_p.h hardware_integration/qwlclientbufferintegrationfactory.cpp hardware_integration/qwlclientbufferintegrationfactory_p.h hardware_integration/qwlclientbufferintegrationplugin.cpp hardware_integration/qwlclientbufferintegrationplugin_p.h hardware_integration/qwlhardwarelayerintegration.cpp hardware_integration/qwlhardwarelayerintegration_p.h @@ -207,14 +201,6 @@ qt_internal_extend_target(WaylandCompositor CONDITION QT_FEATURE_draganddrop compositor_api/qwaylanddrag.cpp compositor_api/qwaylanddrag.h ) -if(QT_FEATURE_opengl AND QT_FEATURE_wayland_compositor_quick) - - qt6_generate_wayland_protocol_server_sources(WaylandCompositor - FILES - ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-texture-sharing-unstable-v1.xml - ) -endif() - qt_internal_extend_target(WaylandCompositor CONDITION QT_FEATURE_opengl AND QT_FEATURE_wayland_compositor_quick SOURCES compositor_api/qwaylandquickhardwarelayer.cpp compositor_api/qwaylandquickhardwarelayer_p.h 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 93fa97b0..9aded1c9 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -43,12 +43,14 @@ #include <QtWaylandCompositor/private/qwlclientbufferintegration_p.h> #include <QtWaylandCompositor/private/qwaylandsurface_p.h> -#include <QtOpenGL/QOpenGLTexture> +#if QT_CONFIG(opengl) +# include <QtOpenGL/QOpenGLTexture> +# include <QtGui/QOpenGLFunctions> +#endif #include <QtGui/QKeyEvent> #include <QtGui/QGuiApplication> #include <QtGui/QScreen> -#include <QtGui/QOpenGLFunctions> #include <QtQuick/QSGSimpleTextureNode> #include <QtQuick/QQuickWindow> diff --git a/src/compositor/compositor_api/qwaylandquicksurface.cpp b/src/compositor/compositor_api/qwaylandquicksurface.cpp index 76bb4a3b..694d640f 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 a08f6820..f00eae57 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 \ @@ -91,9 +92,6 @@ qtConfig(wayland-compositor-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 \ |