summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2020-09-07 11:32:40 +0200
committerLiang Qi <liang.qi@qt.io>2020-09-21 12:00:12 +0200
commit39b1dea2ec5cde9523df61c78dec5d4b195f66d2 (patch)
tree18de0f96da4b388b849ec2aa012f1a79aa5d719f
parent2a7d6e2779bf0c7915396a8af0e1048d254debc3 (diff)
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>
-rw-r--r--src/gui/.prev_configure.cmake8
-rw-r--r--src/gui/configure.cmake8
-rw-r--r--src/gui/configure.json14
-rw-r--r--util/cmake/helper.py3
4 files changed, 29 insertions, 4 deletions
diff --git a/src/gui/.prev_configure.cmake b/src/gui/.prev_configure.cmake
index cd962e8667..196c9662a8 100644
--- a/src/gui/.prev_configure.cmake
+++ b/src/gui/.prev_configure.cmake
@@ -67,9 +67,13 @@ if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
endif()
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)
qt_find_package(XCB 0.3.9 COMPONENTS IMAGE PROVIDED_TARGETS XCB::IMAGE MODULE_NAME gui QMAKE_LIB xcb_image)
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)
qt_find_package(XCB 0.3.9 COMPONENTS KEYSYMS PROVIDED_TARGETS XCB::KEYSYMS MODULE_NAME gui QMAKE_LIB xcb_keysyms)
endif()
@@ -478,6 +482,7 @@ qt_config_compile_test(xcb_syslibs
LABEL "XCB (extensions)"
LIBRARIES
XCB::ICCCM
+ XCB::UTIL
XCB::IMAGE
XCB::KEYSYMS
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++
#define explicit dont_use_cxx_explicit
#include <xcb/xcb.h>
+#include <xcb/xcb_util.h>
#include <xcb/xcb_image.h>
#include <xcb/xcb_keysyms.h>
#include <xcb/randr.h>
diff --git a/src/gui/configure.cmake b/src/gui/configure.cmake
index a58ce7c982..24bb8a8582 100644
--- a/src/gui/configure.cmake
+++ b/src/gui/configure.cmake
@@ -67,9 +67,13 @@ if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
endif()
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)
qt_find_package(XCB 0.3.9 COMPONENTS IMAGE PROVIDED_TARGETS XCB::IMAGE MODULE_NAME gui QMAKE_LIB xcb_image)
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)
qt_find_package(XCB 0.3.9 COMPONENTS KEYSYMS PROVIDED_TARGETS XCB::KEYSYMS MODULE_NAME gui QMAKE_LIB xcb_keysyms)
endif()
@@ -478,6 +482,7 @@ qt_config_compile_test(xcb_syslibs
LABEL "XCB (extensions)"
LIBRARIES
XCB::ICCCM
+ XCB::UTIL
XCB::IMAGE
XCB::KEYSYMS
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++
#define explicit dont_use_cxx_explicit
#include <xcb/xcb.h>
+#include <xcb/xcb_util.h>
#include <xcb/xcb_image.h>
#include <xcb/xcb_keysyms.h>
#include <xcb/randr.h>
diff --git a/src/gui/configure.json b/src/gui/configure.json
index d5816c5968..31a9412bad 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
@@ -526,6 +526,15 @@
],
"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": {
"label": "XCB Image >= 0.3.9",
"headers": "xcb/xcb_image.h",
@@ -533,7 +542,7 @@
{ "type": "pkgConfig", "args": "xcb-image >= 0.3.9" },
"-lxcb-image"
],
- "use": "xcb_shm xcb"
+ "use": "xcb_shm xcb_util xcb"
},
"xcb_keysyms": {
"label": "XCB Keysyms >= 0.3.9",
@@ -956,6 +965,7 @@
"tail": "#undef explicit",
"include": [
"xcb/xcb.h",
+ "xcb/xcb_util.h",
"xcb/xcb_image.h",
"xcb/xcb_keysyms.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);"
]
},
- "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": {
"label": "X11 prefix",
diff --git a/util/cmake/helper.py b/util/cmake/helper.py
index 5e0c4bf38e..eb607a957a 100644
--- a/util/cmake/helper.py
+++ b/util/cmake/helper.py
@@ -491,6 +491,9 @@ _library_map = [
"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(
"xcb_keysyms",
"XCB",
"XCB::KEYSYMS",