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) |
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 4f3a52008..c79764e2c 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 11156f56f..bb8879422 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 2b0258488..49f0860e6 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 93fa97b0d..9aded1c93 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 76bb4a3bd..694d640ff 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 a08f68208..f00eae571 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 6bf7a75b5..bb21e3d8b 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 \ |