CMake: Fix qmake mixing with static build and system_xcb_input

The .prl generation uses a very simple generator expression evaluator
that cannot cope with the $<TARGET_EXISTS> expression used in
src/plugins/platforms/xcb/CMakeLists.txt.

Replace this genex with a conditional qt_extend_target call.

Change-Id: Id17a230d66f701eb0938d10d6b6b7b680290b1c8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Joerg Bornemann 2020-06-24 18:10:48 +02:00
parent a0bd8c7893
commit 2df4991cb1

View File

@ -56,7 +56,6 @@ qt_add_module(XcbQpa
XCB::XCB
XCB::XFIXES
XCB::XINERAMA
$<$<TARGET_EXISTS:XCB::XINPUT>:XCB::XINPUT> # special case
XCB::XKB
XKB::XKB
)
@ -146,7 +145,9 @@ qt_extend_target(XcbQpa CONDITION QT_FEATURE_fontconfig AND QT_FEATURE_xcb_nativ
)
# special case begin
if (NOT QT_FEATURE_system_xcb_input)
if(TARGET XCB::XINPUT)
qt_extend_target(XcbQpa LIBRARIES XCB::XINPUT)
else()
set(xinput_source "${PROJECT_SOURCE_DIR}/src/3rdparty/xcb/libxcb/xinput.c")
set_source_files_properties(
"${xinput_source}"