xcb: add xcb-util dependency for xcb-image

xcb-image includes xcb_aux.h, which is part of xcb-util.

Fixes: QTBUG-86287
Pick-to: 5.15
Change-Id: I253308008c5baeb1d061ef19f516ae6ab6dff52c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
Liang Qi 2020-09-07 11:32:40 +02:00
parent 2a7d6e2779
commit 39b1dea2ec
4 changed files with 29 additions and 4 deletions

View File

@ -66,10 +66,14 @@ if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
qt_find_package(XCB 0.3.9 COMPONENTS ICCCM PROVIDED_TARGETS XCB::ICCCM MODULE_NAME gui QMAKE_LIB xcb_icccm) qt_find_package(XCB 0.3.9 COMPONENTS ICCCM PROVIDED_TARGETS XCB::ICCCM MODULE_NAME gui QMAKE_LIB xcb_icccm)
endif() endif()
qt_add_qmake_lib_dependency(xcb_icccm xcb) qt_add_qmake_lib_dependency(xcb_icccm xcb)
if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
qt_find_package(XCB 0.3.9 COMPONENTS UTIL PROVIDED_TARGETS XCB::UTIL MODULE_NAME gui QMAKE_LIB xcb_util)
endif()
qt_add_qmake_lib_dependency(xcb_util xcb)
if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
qt_find_package(XCB 0.3.9 COMPONENTS IMAGE PROVIDED_TARGETS XCB::IMAGE MODULE_NAME gui QMAKE_LIB xcb_image) qt_find_package(XCB 0.3.9 COMPONENTS IMAGE PROVIDED_TARGETS XCB::IMAGE MODULE_NAME gui QMAKE_LIB xcb_image)
endif() endif()
qt_add_qmake_lib_dependency(xcb_image xcb_shm xcb) qt_add_qmake_lib_dependency(xcb_image xcb_shm xcb_util xcb)
if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
qt_find_package(XCB 0.3.9 COMPONENTS KEYSYMS PROVIDED_TARGETS XCB::KEYSYMS MODULE_NAME gui QMAKE_LIB xcb_keysyms) qt_find_package(XCB 0.3.9 COMPONENTS KEYSYMS PROVIDED_TARGETS XCB::KEYSYMS MODULE_NAME gui QMAKE_LIB xcb_keysyms)
endif() endif()
@ -478,6 +482,7 @@ qt_config_compile_test(xcb_syslibs
LABEL "XCB (extensions)" LABEL "XCB (extensions)"
LIBRARIES LIBRARIES
XCB::ICCCM XCB::ICCCM
XCB::UTIL
XCB::IMAGE XCB::IMAGE
XCB::KEYSYMS XCB::KEYSYMS
XCB::RANDR XCB::RANDR
@ -493,6 +498,7 @@ qt_config_compile_test(xcb_syslibs
"// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++ "// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++
#define explicit dont_use_cxx_explicit #define explicit dont_use_cxx_explicit
#include <xcb/xcb.h> #include <xcb/xcb.h>
#include <xcb/xcb_util.h>
#include <xcb/xcb_image.h> #include <xcb/xcb_image.h>
#include <xcb/xcb_keysyms.h> #include <xcb/xcb_keysyms.h>
#include <xcb/randr.h> #include <xcb/randr.h>

View File

@ -66,10 +66,14 @@ if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
qt_find_package(XCB 0.3.9 COMPONENTS ICCCM PROVIDED_TARGETS XCB::ICCCM MODULE_NAME gui QMAKE_LIB xcb_icccm) qt_find_package(XCB 0.3.9 COMPONENTS ICCCM PROVIDED_TARGETS XCB::ICCCM MODULE_NAME gui QMAKE_LIB xcb_icccm)
endif() endif()
qt_add_qmake_lib_dependency(xcb_icccm xcb) qt_add_qmake_lib_dependency(xcb_icccm xcb)
if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
qt_find_package(XCB 0.3.9 COMPONENTS UTIL PROVIDED_TARGETS XCB::UTIL MODULE_NAME gui QMAKE_LIB xcb_util)
endif()
qt_add_qmake_lib_dependency(xcb_util xcb)
if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
qt_find_package(XCB 0.3.9 COMPONENTS IMAGE PROVIDED_TARGETS XCB::IMAGE MODULE_NAME gui QMAKE_LIB xcb_image) qt_find_package(XCB 0.3.9 COMPONENTS IMAGE PROVIDED_TARGETS XCB::IMAGE MODULE_NAME gui QMAKE_LIB xcb_image)
endif() endif()
qt_add_qmake_lib_dependency(xcb_image xcb_shm xcb) qt_add_qmake_lib_dependency(xcb_image xcb_shm xcb_util xcb)
if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
qt_find_package(XCB 0.3.9 COMPONENTS KEYSYMS PROVIDED_TARGETS XCB::KEYSYMS MODULE_NAME gui QMAKE_LIB xcb_keysyms) qt_find_package(XCB 0.3.9 COMPONENTS KEYSYMS PROVIDED_TARGETS XCB::KEYSYMS MODULE_NAME gui QMAKE_LIB xcb_keysyms)
endif() endif()
@ -478,6 +482,7 @@ qt_config_compile_test(xcb_syslibs
LABEL "XCB (extensions)" LABEL "XCB (extensions)"
LIBRARIES LIBRARIES
XCB::ICCCM XCB::ICCCM
XCB::UTIL
XCB::IMAGE XCB::IMAGE
XCB::KEYSYMS XCB::KEYSYMS
XCB::RANDR XCB::RANDR
@ -493,6 +498,7 @@ qt_config_compile_test(xcb_syslibs
"// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++ "// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++
#define explicit dont_use_cxx_explicit #define explicit dont_use_cxx_explicit
#include <xcb/xcb.h> #include <xcb/xcb.h>
#include <xcb/xcb_util.h>
#include <xcb/xcb_image.h> #include <xcb/xcb_image.h>
#include <xcb/xcb_keysyms.h> #include <xcb/xcb_keysyms.h>
#include <xcb/randr.h> #include <xcb/randr.h>

View File

@ -526,6 +526,15 @@
], ],
"use": "xcb" "use": "xcb"
}, },
"xcb_util": {
"label": "XCB Util >= 0.3.9",
"headers": "xcb/xcb_util.h",
"sources": [
{ "type": "pkgConfig", "args": "xcb-util >= 0.3.9" },
"-lxcb-util"
],
"use": "xcb"
},
"xcb_image": { "xcb_image": {
"label": "XCB Image >= 0.3.9", "label": "XCB Image >= 0.3.9",
"headers": "xcb/xcb_image.h", "headers": "xcb/xcb_image.h",
@ -533,7 +542,7 @@
{ "type": "pkgConfig", "args": "xcb-image >= 0.3.9" }, { "type": "pkgConfig", "args": "xcb-image >= 0.3.9" },
"-lxcb-image" "-lxcb-image"
], ],
"use": "xcb_shm xcb" "use": "xcb_shm xcb_util xcb"
}, },
"xcb_keysyms": { "xcb_keysyms": {
"label": "XCB Keysyms >= 0.3.9", "label": "XCB Keysyms >= 0.3.9",
@ -956,6 +965,7 @@
"tail": "#undef explicit", "tail": "#undef explicit",
"include": [ "include": [
"xcb/xcb.h", "xcb/xcb.h",
"xcb/xcb_util.h",
"xcb/xcb_image.h", "xcb/xcb_image.h",
"xcb/xcb_keysyms.h", "xcb/xcb_keysyms.h",
"xcb/randr.h", "xcb/randr.h",
@ -986,7 +996,7 @@
"xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof(nullptr, 0, 0, 0, 0, 0, 0, 0, 0);" "xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof(nullptr, 0, 0, 0, 0, 0, 0, 0, 0);"
] ]
}, },
"use": "xcb_icccm xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xkb xcb" "use": "xcb_icccm xcb_util xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xkb xcb"
}, },
"x11prefix": { "x11prefix": {
"label": "X11 prefix", "label": "X11 prefix",

View File

@ -490,6 +490,9 @@ _library_map = [
LibraryMapping( LibraryMapping(
"xcb_image", "XCB", "XCB::IMAGE", extra=["0.3.9", "COMPONENTS", "IMAGE"], resultVariable="XCB_IMAGE" "xcb_image", "XCB", "XCB::IMAGE", extra=["0.3.9", "COMPONENTS", "IMAGE"], resultVariable="XCB_IMAGE"
), ),
LibraryMapping(
"xcb_util", "XCB", "XCB::UTIL", extra=["0.3.9", "COMPONENTS", "UTIL"], resultVariable="XCB_UTIL"
),
LibraryMapping( LibraryMapping(
"xcb_keysyms", "xcb_keysyms",
"XCB", "XCB",