diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-09-22 12:29:17 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-09-22 14:43:53 +0200 |
commit | d7f0f4844554f94665de97daf73efa6c0e56df6e (patch) | |
tree | 2dab2af77d4d3c2900dd01f4befff9caac05f483 | |
parent | 53a08ca23554c72cbcb1d84db0544d24c127d510 (diff) |
Re-visit the xkbcommon dependency
QtGui doesn't expose xkbcommon as public dependency anymore.
QtGuiPrivate, however does now, but only in the CMake build.
Fix the qmake build by adding an explicit xkbcommon dependency to
client.pro, like it's done for the compositor.
Commented out the explicit xkbcommon dependencies in the CMakeLists.txt
files of client and compositor.
Mark the XKB packages as optional, such that qtwayland can actually be
built if the feature xkbcommon is OFF and no libxkbcommon-dev package is
installed.
Change-Id: Ia1c7a8333dc8a93b4924e03f7f2284a709a9d65b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r-- | src/client/.prev_CMakeLists.txt | 5 | ||||
-rw-r--r-- | src/client/CMakeLists.txt | 10 | ||||
-rw-r--r-- | src/client/client.pro | 2 | ||||
-rw-r--r-- | src/client/configure.cmake | 2 | ||||
-rw-r--r-- | src/compositor/CMakeLists.txt | 13 | ||||
-rw-r--r-- | src/compositor/configure.cmake | 2 |
6 files changed, 28 insertions, 6 deletions
diff --git a/src/client/.prev_CMakeLists.txt b/src/client/.prev_CMakeLists.txt index 454b06ae3..142a8a272 100644 --- a/src/client/.prev_CMakeLists.txt +++ b/src/client/.prev_CMakeLists.txt @@ -89,6 +89,11 @@ qt6_generate_wayland_protocol_client_sources(WaylandClient ## Scopes: ##################################################################### +qt_extend_target(WaylandClient CONDITION QT_FEATURE_xkbcommon + PUBLIC_LIBRARIES + XKB::XKB +) + qt_extend_target(WaylandClient CONDITION QT_FEATURE_clipboard SOURCES qwaylandclipboard.cpp qwaylandclipboard_p.h diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index 62bc7e09e..b72dbb36a 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -89,6 +89,16 @@ qt6_generate_wayland_protocol_client_sources(WaylandClient ## Scopes: ##################################################################### +# special case begin +# +# Do not explicitly add XKB::XKB. This is already done by Qt::GuiPrivate. +# +# qt_extend_target(WaylandClient CONDITION QT_FEATURE_xkbcommon +# PUBLIC_LIBRARIES +# XKB::XKB +# ) +# special case end + qt_extend_target(WaylandClient CONDITION QT_FEATURE_clipboard SOURCES qwaylandclipboard.cpp qwaylandclipboard_p.h diff --git a/src/client/client.pro b/src/client/client.pro index da6a926dc..5a071d9ed 100644 --- a/src/client/client.pro +++ b/src/client/client.pro @@ -14,6 +14,8 @@ CONFIG -= precompile_header CONFIG += link_pkgconfig wayland-scanner QMAKE_USE += wayland-client +qtConfig(xkbcommon): \ + QMAKE_USE += xkbcommon INCLUDEPATH += $$PWD/../shared diff --git a/src/client/configure.cmake b/src/client/configure.cmake index 62da9940b..201f5d462 100644 --- a/src/client/configure.cmake +++ b/src/client/configure.cmake @@ -26,7 +26,7 @@ if(NOT TARGET X11::X11) endif() # Same for XKB. if(NOT TARGET XKB::XKB) - qt_find_package(XKB 0.5.0 PROVIDED_TARGETS XKB::XKB MODULE_NAME gui QMAKE_LIB xkbcommon) + qt_find_package(XKB 0.5.0 PROVIDED_TARGETS XKB::XKB MODULE_NAME gui QMAKE_LIB xkbcommon MARK_OPTIONAL) endif() # special case end diff --git a/src/compositor/CMakeLists.txt b/src/compositor/CMakeLists.txt index 1b07b4c67..4c1e51509 100644 --- a/src/compositor/CMakeLists.txt +++ b/src/compositor/CMakeLists.txt @@ -164,10 +164,15 @@ qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_wayland_datadevice wayland_wrapper/qwldatasource.cpp wayland_wrapper/qwldatasource_p.h ) -qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_xkbcommon - PUBLIC_LIBRARIES - XKB::XKB -) +# special case begin +# +# Do not explicitly add XKB::XKB. This is already done by Qt::GuiPrivate. +# +#qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_xkbcommon +# PUBLIC_LIBRARIES +# XKB::XKB +#) +# special case end qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_im SOURCES diff --git a/src/compositor/configure.cmake b/src/compositor/configure.cmake index 3c40f340f..9c5864e39 100644 --- a/src/compositor/configure.cmake +++ b/src/compositor/configure.cmake @@ -25,7 +25,7 @@ if(NOT TARGET X11::X11) endif() # Same for XKB. if(NOT TARGET XKB::XKB) - qt_find_package(XKB 0.5.0 PROVIDED_TARGETS XKB::XKB MODULE_NAME gui QMAKE_LIB xkbcommon) + qt_find_package(XKB 0.5.0 PROVIDED_TARGETS XKB::XKB MODULE_NAME gui QMAKE_LIB xkbcommon MARK_OPTIONAL) endif() |