From 160184d6a5d0b89d9b885581f2d93a5650eede0a Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Mon, 24 Feb 2020 14:24:25 +0100 Subject: CMake: Fix X11 and xkb library usage in the platform projects This is a prerequisite for building the bundled 3rd party libraries. Because the feature evaluation will be moved into src/CMakeLists.txt, some of the X11 packages were found in the src dir, and then a second time inside the x11-related projects. These qt_find_package calls in the x11 related projects tried to promote the imported targets to global, which failed, because they were created in a different directory scope. To avoid this, the special case qt_find_package calls are removed from the nested projects. Also, fix the mapping of some of the x11 libraries to be correct - xkbcommon_x11 was incorrectly mapped to XKB::XKB instead of the xkb common x11 library - xlib was mapped to xcb, whereas X11 is the correct CMake target Change-Id: I30781b2ecbdd478c98419b14baa0492037e49c61 Reviewed-by: Leander Beernaert Reviewed-by: Simon Hausmann --- .../deviceintegration/eglfs_x11/CMakeLists.txt | 1 + src/plugins/platforms/xcb/.prev_CMakeLists.txt | 1 + src/plugins/platforms/xcb/CMakeLists.txt | 31 +++++----------------- 3 files changed, 9 insertions(+), 24 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/CMakeLists.txt b/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/CMakeLists.txt index 29dcd0dab7..fee448db8a 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/CMakeLists.txt +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/CMakeLists.txt @@ -20,6 +20,7 @@ qt_add_plugin(QEglFSX11IntegrationPlugin Qt::EglFSDeviceIntegrationPrivate Qt::Gui Qt::GuiPrivate + X11::X11 X11::XCB XCB::XCB ) diff --git a/src/plugins/platforms/xcb/.prev_CMakeLists.txt b/src/plugins/platforms/xcb/.prev_CMakeLists.txt index 427997fc66..85290fae84 100644 --- a/src/plugins/platforms/xcb/.prev_CMakeLists.txt +++ b/src/plugins/platforms/xcb/.prev_CMakeLists.txt @@ -39,6 +39,7 @@ qt_add_module(XcbQpa INCLUDE_DIRECTORIES gl_integrations PUBLIC_LIBRARIES + PkgConfig::XKB_COMMON_X11 Qt::CorePrivate Qt::EdidSupportPrivate Qt::FontDatabaseSupportPrivate diff --git a/src/plugins/platforms/xcb/CMakeLists.txt b/src/plugins/platforms/xcb/CMakeLists.txt index d422d69891..a7cb58ba29 100644 --- a/src/plugins/platforms/xcb/CMakeLists.txt +++ b/src/plugins/platforms/xcb/CMakeLists.txt @@ -1,27 +1,5 @@ # Generated from xcb.pro. -# begin special case: -qt_find_package(X11_XCB - PROVIDED_TARGETS - X11::XCB -) -qt_find_package(X11 - PROVIDED_TARGETS - X11::X11 -) -qt_find_package(XCB) -qt_find_package(XKB) -qt_find_package(PkgConfig) -qt_find_package(WrapFreetype) -qt_find_package(GLIB2 - PROVIDED_TARGETS - GLIB2::GLIB2 -) -qt_find_package(XRender PROVIDED_TARGETS PkgConfig::XRender) -qt_find_package(XKB_COMMON_X11 PROVIDED_TARGETS PkgConfig::XKB_COMMON_X11) - -# end special case: - ##################################################################### ## XcbQpa Module: ##################################################################### @@ -61,6 +39,7 @@ qt_add_module(XcbQpa INCLUDE_DIRECTORIES gl_integrations PUBLIC_LIBRARIES + PkgConfig::XKB_COMMON_X11 Qt::CorePrivate Qt::EdidSupportPrivate Qt::FontDatabaseSupportPrivate @@ -68,7 +47,6 @@ qt_add_module(XcbQpa Qt::ServiceSupportPrivate Qt::ThemeSupportPrivate Qt::XkbCommonSupportPrivate - PkgConfig::XKB_COMMON_X11 # special case XCB::ICCCM XCB::IMAGE XCB::KEYSYMS @@ -120,7 +98,12 @@ qt_extend_target(XcbQpa CONDITION QT_FEATURE_draganddrop qt_extend_target(XcbQpa CONDITION QT_FEATURE_xcb_xlib PUBLIC_LIBRARIES X11::XCB - X11::X11 # special case + # special case begin + # 'QMAKE_USE += xcb_xlib' in qmake implies also += xlib (aka X11) + # due to "use": "xcb xlib" in src/gui/configure.json. + # That's not yet handled by the conversion scripts unfortunately. + X11::X11 + # special case end ) qt_extend_target(XcbQpa CONDITION QT_FEATURE_xcb_sm -- cgit v1.2.3