summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/xcb-plugin.pro
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@digia.com>2014-09-10 16:31:32 +0200
committerJørgen Lind <jorgen.lind@theqtcompany.com>2014-12-20 06:09:01 +0100
commit8758f532ae6209bcf9447e27edc4fd412c0f173d (patch)
tree082d8e259d6de5a783ad0b2ddcf7d405ad550ba8 /src/plugins/platforms/xcb/xcb-plugin.pro
parenteb2014382be588ea92e172d8b36385b8b86b64de (diff)
Make GLX and EGL dynamic dependencies for xcb
[ChangeLog][QPA][Xcb] GLX and EGL code paths are now dynamically resolved, making it possible for one build of a plugin to use both code paths. Default is to use the GLX code path if available. This can be overwritten by specifying QT_XCB_GL_INTEGRATION=xcb_egl as an evnironment variable. Enable qt.xcb.glintegration.debug to get debug log output of what integration is used Change-Id: Ia9fa95fcca3d901b91dadb8c98a695fea0ae3b1e Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/xcb/xcb-plugin.pro')
-rw-r--r--src/plugins/platforms/xcb/xcb-plugin.pro116
1 files changed, 2 insertions, 114 deletions
diff --git a/src/plugins/platforms/xcb/xcb-plugin.pro b/src/plugins/platforms/xcb/xcb-plugin.pro
index f14fcde73f..8dfe08d413 100644
--- a/src/plugins/platforms/xcb/xcb-plugin.pro
+++ b/src/plugins/platforms/xcb/xcb-plugin.pro
@@ -5,122 +5,10 @@ PLUGIN_CLASS_NAME = QXcbIntegrationPlugin
!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = -
load(qt_plugin)
-QT += core-private gui-private platformsupport-private
+QT += core-private gui-private platformsupport-private xcb_qpa_lib-private
SOURCES = \
- qxcbclipboard.cpp \
- qxcbconnection.cpp \
- qxcbintegration.cpp \
- qxcbkeyboard.cpp \
- qxcbmime.cpp \
- qxcbdrag.cpp \
- qxcbscreen.cpp \
- qxcbwindow.cpp \
- qxcbbackingstore.cpp \
- qxcbwmsupport.cpp \
- qxcbmain.cpp \
- qxcbnativeinterface.cpp \
- qxcbcursor.cpp \
- qxcbimage.cpp \
- qxcbxsettings.cpp \
- qxcbsystemtraytracker.cpp
-
-HEADERS = \
- qxcbclipboard.h \
- qxcbconnection.h \
- qxcbintegration.h \
- qxcbkeyboard.h \
- qxcbdrag.h \
- qxcbmime.h \
- qxcbobject.h \
- qxcbscreen.h \
- qxcbwindow.h \
- qxcbbackingstore.h \
- qxcbwmsupport.h \
- qxcbnativeinterface.h \
- qxcbcursor.h \
- qxcbimage.h \
- qxcbxsettings.h \
- qxcbsystemtraytracker.h
-
-LIBS += $$QMAKE_LIBS_DYNLOAD
-
-# needed by GLX, Xcursor ...
-contains(QT_CONFIG, xcb-xlib) {
- DEFINES += XCB_USE_XLIB
- LIBS += -lX11 -lX11-xcb
-
- contains(QT_CONFIG, xinput2) {
- DEFINES += XCB_USE_XINPUT2
- SOURCES += qxcbconnection_xi2.cpp
- LIBS += -lXi
- }
-}
-
-# to support custom cursors with depth > 1
-contains(QT_CONFIG, xcb-render) {
- DEFINES += XCB_USE_RENDER
- LIBS += -lxcb-render -lxcb-render-util
-}
-
-# build with session management support
-contains(QT_CONFIG, xcb-sm) {
- DEFINES += XCB_USE_SM
- LIBS += -lSM -lICE
- SOURCES += qxcbsessionmanager.cpp
- HEADERS += qxcbsessionmanager.h
-}
-
-contains(QT_CONFIG, opengl) {
- contains(QT_CONFIG, xcb-xlib):!contains(QT_CONFIG, opengles2) {
- DEFINES += XCB_USE_GLX
- HEADERS += qglxintegration.h
- SOURCES += qglxintegration.cpp
- LIBS += $$QMAKE_LIBS_DYNLOAD
- contains(QT_CONFIG, xcb-glx) {
- DEFINES += XCB_HAS_XCB_GLX
- LIBS += -lxcb-glx
- }
- } else:contains(QT_CONFIG, egl):contains(QT_CONFIG, egl_x11) {
- DEFINES += XCB_USE_EGL
- CONFIG += egl
- HEADERS += qxcbeglsurface.h
-
- # EGL on MeeGo 1.2 Harmattan needs this macro to map EGLNativeDisplayType
- # and other types to the correct X11 types
- DEFINES += SUPPORT_X11
- }
-}
-
-DEFINES += $$QMAKE_DEFINES_XCB
-LIBS += $$QMAKE_LIBS_XCB
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
-QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB
-
-CONFIG += qpa/genericunixfontdatabase
-
-contains(QT_CONFIG, dbus) {
-QT += dbus
-LIBS += -ldbus-1
-}
+ qxcbmain.cpp
OTHER_FILES += xcb.json README
-contains(QT_CONFIG, xcb-qt) {
- DEFINES += XCB_USE_RENDER
- XCB_DIR = ../../../3rdparty/xcb
- INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/sysinclude
- LIBS += -lxcb -L$$OUT_PWD/xcb-static -lxcb-static
-} else {
- LIBS += -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr -lxcb-shape -lxcb-keysyms
- !contains(DEFINES, QT_NO_XKB):LIBS += -lxcb-xkb
-}
-
-# libxkbcommon
-contains(QT_CONFIG, xkbcommon-qt): {
- QT_CONFIG += use-xkbcommon-x11support
- include(../../../3rdparty/xkbcommon.pri)
-} else {
- LIBS += $$QMAKE_LIBS_XKBCOMMON
- QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XKBCOMMON
-}