diff options
Diffstat (limited to 'src/plugins/platforms/wayland/wayland.pro')
-rw-r--r-- | src/plugins/platforms/wayland/wayland.pro | 59 |
1 files changed, 41 insertions, 18 deletions
diff --git a/src/plugins/platforms/wayland/wayland.pro b/src/plugins/platforms/wayland/wayland.pro index 9d43c877d..73909bf68 100644 --- a/src/plugins/platforms/wayland/wayland.pro +++ b/src/plugins/platforms/wayland/wayland.pro @@ -6,21 +6,8 @@ CONFIG += qpa/genericunixfontdatabase DESTDIR = $$QT.gui.plugins/platforms -DEFINES += Q_PLATFORM_WAYLAND -DEFINES += $$QMAKE_DEFINES_WAYLAND - -mac { - DEFINES += QT_NO_WAYLAND_XKB -} - QT += core-private gui-private platformsupport-private -WAYLANDSOURCES += \ - $$PWD/../../../../extensions/surface-extension.xml \ - $$PWD/../../../../extensions/sub-surface-extension.xml \ - $$PWD/../../../../extensions/output-extension.xml \ - $$PWD/../../../../extensions/touch-extension.xml - SOURCES = main.cpp \ qwaylandintegration.cpp \ qwaylandnativeinterface.cpp \ @@ -66,18 +53,54 @@ HEADERS = qwaylandintegration.h \ qwaylandtouch.h \ $$PWD/../../../shared/qwaylandmimehelper.h +DEFINES += Q_PLATFORM_WAYLAND + +contains(config_test_xkbcommon,yes) { + !contains(QT_CONFIG, no-pkg-config) { + QMAKE_CFLAGS_XKBCOMMON=$$system(pkg-config --cflags xkbcommon 2>/dev/null) + QMAKE_LIBS_XKBCOMMON=$$system(pkg-config --libs xkbcommon 2>/dev/null) + } + + QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XKBCOMMON + QMAKE_CFLAGS += $$QMAKE_CFLAGS_XKBCOMMON + LIBS += $$QMAKE_LIBS_XKBCOMMON +} else { + DEFINES += QT_NO_WAYLAND_XKB +} + +WAYLANDSOURCES += \ + $$PWD/../../../../extensions/surface-extension.xml \ + $$PWD/../../../../extensions/sub-surface-extension.xml \ + $$PWD/../../../../extensions/output-extension.xml \ + $$PWD/../../../../extensions/touch-extension.xml + + OTHER_FILES += wayland.json INCLUDEPATH += $$PWD/../../../shared -INCLUDEPATH += $$QMAKE_INCDIR_WAYLAND - -LIBS += $$QMAKE_LIBS_WAYLAND -mac { - LIBS += -lwayland-client +!contains(QT_CONFIG, no-pkg-config) { + #If Qt uses pkg-config then override pkgconfig from mkspec + QMAKE_CFLAGS_WAYLAND=$$system(pkg-config --cflags wayland-client 2>/dev/null) + QMAKE_LIBS_WAYLAND_CLIENT=$$system(pkg-config --libs-only-l wayland-client 2>/dev/null) + QMAKE_INCDIR_WAYLAND=$$system("pkg-config --cflags-only-I wayland-client 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'") + QMAKE_LIBDIR_WAYLAND=$$system("pkg-config --libs-only-L wayland-client 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'") + QMAKE_DEFINES_WAYLAND="" } QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_WAYLAND +QMAKE_CFLAGS += $$QMAKE_CFLAGS_WAYLAND +DEFINES += $$QMAKE_DEFINES_WAYLAND +LIBS += $$QMAKE_LIBS_WAYLAND_CLIENT +!isEmpty(QMAKE_LIBDIR_WAYLAND) { + LIBS += -L$$QMAKE_LIBDIR_WAYLAND +} + +!isEmpty(QMAKE_LFLAGS_RPATH) { + !isEmpty(QMAKE_LIBDIR_WAYLAND) { + QMAKE_LFLAGS += $${QMAKE_LFLAGS_RPATH}$${QMAKE_LIBS_WAYLAND} + } +} target.path += $$[QT_INSTALL_PLUGINS]/platforms INSTALLS += target |