Fix XCB feature detection
The xcb feature controls whether to build the xcb platform plugin. The
feature depends among other things on
qt_find_package(XCB 1.9 PROVIDED_TARGETS XCB::XCB)
to succeed. This means at the moment setting XCB_FOUND to true, that's
what the condition checks.
Later on, in configure.cmake, we also check for other components in the
XCB package, for example:
qt_find_package(XCB COMPONENTS XINPUT PROVIDED_TARGETS XCB::XINPUT)
If this component is not available, the xcb platform plugin has perhaps
reduce functionality, but it should be built and the feature should be
abled. However it isn't, because when that find_package call fails,
XCB_FOUND will be set to false. And that in turn will disable the
feature as the condition fails.
Therefore this patch changes the condition to check for the presence of
the XCB::XCB target instead.
Change-Id: I534087d8c3b7ff5edf81a5ffcf16cc0bb78b9fb7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
bb10
parent
a9d2c5b6d7
commit
8c60782124
|
|
@ -103,6 +103,7 @@ if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
|||
qt_find_package(XRender PROVIDED_TARGETS PkgConfig::XRender)
|
||||
endif()
|
||||
|
||||
|
||||
#### Tests
|
||||
|
||||
# angle_d3d11_qdtd
|
||||
|
|
@ -766,7 +767,7 @@ qt_feature("xcb" PRIVATE
|
|||
SECTION "Platform plugins"
|
||||
LABEL "XCB"
|
||||
AUTODETECT NOT APPLE
|
||||
CONDITION QT_FEATURE_thread AND QT_FEATURE_xkbcommon AND XCB_FOUND
|
||||
CONDITION QT_FEATURE_thread AND QT_FEATURE_xkbcommon AND TARGET XCB::XCB
|
||||
ENABLE INPUT_xcb STREQUAL 'system' OR INPUT_xcb STREQUAL 'qt' OR INPUT_xcb STREQUAL 'yes'
|
||||
)
|
||||
qt_feature("xcb_glx_plugin" PRIVATE
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ _library_map = [
|
|||
LibraryMapping('vulkan', 'Vulkan', 'Vulkan::Vulkan'),
|
||||
LibraryMapping('wayland_server', 'Wayland', 'Wayland::Server'),
|
||||
LibraryMapping('x11sm', 'X11', '${X11_SM_LIB} ${X11_ICE_LIB}', resultVariable="X11_SM"),
|
||||
LibraryMapping('xcb', 'XCB', 'XCB::XCB', extra = ['1.9']),
|
||||
LibraryMapping('xcb', 'XCB', 'XCB::XCB', extra = ['1.9'], resultVariable='TARGET XCB::XCB', appendFoundSuffix=False),
|
||||
LibraryMapping('xcb_glx', 'XCB', 'XCB::GLX', extra = ['COMPONENTS', 'GLX'], resultVariable='XCB_GLX'),
|
||||
LibraryMapping('xcb_icccm', 'XCB', 'XCB::ICCCM', extra = ['COMPONENTS', 'ICCCM'], resultVariable='XCB_ICCCM'),
|
||||
LibraryMapping('xcb_image', 'XCB', 'XCB::IMAGE', extra = ['COMPONENTS', 'IMAGE'], resultVariable='XCB_IMAGE'),
|
||||
|
|
|
|||
Loading…
Reference in New Issue