From f9d97ee04aed519e78e0b9114866512f83c5a203 Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Fri, 19 Jan 2024 12:24:10 +0100 Subject: [PATCH] Force CMake to look for static versions of xcb components Add the USE_XCB__STATIC switches that force using the static versions of xcb components if necessary. The xcb components needs to be built with -fPIC option, to make the static linking possible. When Qt is built staticaly USE_XCB__STATIC needs to be passed to the application command line, since in static case xcb libraries are resolved and linked when configuring application, but not when building Qt. Pick-to: 6.6 6.5 Task-number: QTBUG-120769 Change-Id: I274e9cf4a6a111dc87ad84bb7f49cad76a3d364a Reviewed-by: Liang Qi (cherry picked from commit 6ce6ff1c529a7a4a09f211980cc749c2b3aa0dab) Reviewed-by: Qt Cherry-pick Bot --- cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake index dc602894012..26b9bf89633 100644 --- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake +++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake @@ -137,6 +137,9 @@ foreach(_comp ${XCB_known_components}) set(XCB_${_comp}_pkg_config "xcb-${_lc_comp}") set(XCB_${_comp}_lib "xcb-${_lc_comp}") set(XCB_${_comp}_header "xcb/${_lc_comp}.h") + if(USE_XCB_${_comp}_STATIC) + set(XCB_${_comp}_lib "lib${XCB_${_comp}_lib}.a") + endif() endforeach() # exceptions set(XCB_XCB_component_deps)