summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2020-10-02 13:25:57 +0200
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2020-10-02 14:12:13 +0200
commitcab51443ed9246c14255dcb295764f4d15cffaa1 (patch)
tree5bbf247ea9d490b2ab27110ef4a0aa67d27c6a0e
parente823131e6fbd3e6e4c089b0ec860285cc4994195 (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.txt22
-rw-r--r--src/compositor/CMakeLists.txt22
-rw-r--r--src/compositor/compositor_api/qwaylandquickcompositor.cpp8
-rw-r--r--src/compositor/compositor_api/qwaylandquickitem.cpp6
-rw-r--r--src/compositor/compositor_api/qwaylandquicksurface.cpp1
-rw-r--r--src/compositor/extensions/extensions.pri4
-rw-r--r--src/compositor/hardware_integration/hardware_integration.pri19
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 \