summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/xcb/CMakeLists.txt')
-rw-r--r--src/plugins/platforms/xcb/CMakeLists.txt133
1 files changed, 52 insertions, 81 deletions
diff --git a/src/plugins/platforms/xcb/CMakeLists.txt b/src/plugins/platforms/xcb/CMakeLists.txt
index d422d69891..e8fb442dd4 100644
--- a/src/plugins/platforms/xcb/CMakeLists.txt
+++ b/src/plugins/platforms/xcb/CMakeLists.txt
@@ -1,32 +1,17 @@
-# Generated from xcb.pro.
-
-# begin special case:
-qt_find_package(X11_XCB
- PROVIDED_TARGETS
- X11::XCB
-)
-qt_find_package(X11
- PROVIDED_TARGETS
- X11::X11
-)
-qt_find_package(XCB)
-qt_find_package(XKB)
-qt_find_package(PkgConfig)
-qt_find_package(WrapFreetype)
-qt_find_package(GLIB2
- PROVIDED_TARGETS
- GLIB2::GLIB2
-)
-qt_find_package(XRender PROVIDED_TARGETS PkgConfig::XRender)
-qt_find_package(XKB_COMMON_X11 PROVIDED_TARGETS PkgConfig::XKB_COMMON_X11)
-
-# end special case:
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
#####################################################################
-## XcbQpa Module:
+## XcbQpaPrivate Module:
#####################################################################
-qt_add_module(XcbQpa
+if(GCC)
+ # Work around GCC ABI issues
+ add_compile_options(-Wno-psabi)
+endif()
+
+qt_internal_add_module(XcbQpaPrivate
+ CONFIG_MODULE_NAME xcb_qpa_lib
INTERNAL_MODULE
NO_MODULE_HEADERS
SOURCES
@@ -47,6 +32,7 @@ qt_add_module(XcbQpa
qxcbimage.cpp qxcbimage.h
qxcbintegration.cpp qxcbintegration.h
qxcbkeyboard.cpp qxcbkeyboard.h
+ qxcbscrollingdevice.cpp qxcbscrollingdevice_p.h
qxcbmime.cpp qxcbmime.h
qxcbnativeinterface.cpp qxcbnativeinterface.h
qxcbobject.h
@@ -61,14 +47,10 @@ qt_add_module(XcbQpa
INCLUDE_DIRECTORIES
gl_integrations
PUBLIC_LIBRARIES
+ PkgConfig::XKB_COMMON_X11
Qt::CorePrivate
- Qt::EdidSupportPrivate
- Qt::FontDatabaseSupportPrivate
Qt::GuiPrivate
- Qt::ServiceSupportPrivate
- Qt::ThemeSupportPrivate
- Qt::XkbCommonSupportPrivate
- PkgConfig::XKB_COMMON_X11 # special case
+ XCB::CURSOR
XCB::ICCCM
XCB::IMAGE
XCB::KEYSYMS
@@ -80,72 +62,70 @@ qt_add_module(XcbQpa
XCB::SYNC
XCB::XCB
XCB::XFIXES
- XCB::XINERAMA
- $<$<TARGET_EXISTS:XCB::XINPUT>:XCB::XINPUT> # special case
XCB::XKB
XKB::XKB
+ NO_UNITY_BUILD # X11 define clashes
)
+qt_disable_apple_app_extension_api_only(XcbQpaPrivate)
+
## Scopes:
#####################################################################
-qt_extend_target(XcbQpa CONDITION TARGET Qt::PlatformCompositorSupportPrivate
- PUBLIC_LIBRARIES
- Qt::PlatformCompositorSupportPrivate
-)
-
-qt_extend_target(XcbQpa CONDITION TARGET Qt::LinuxAccessibilitySupportPrivate
- PUBLIC_LIBRARIES
- Qt::LinuxAccessibilitySupportPrivate
-)
-
-qt_extend_target(XcbQpa CONDITION QT_FEATURE_vulkan
- SOURCES
- qxcbvulkaninstance.cpp qxcbvulkaninstance.h
- qxcbvulkanwindow.cpp qxcbvulkanwindow.h
- PUBLIC_LIBRARIES
- Qt::VulkanSupportPrivate
-)
-
-qt_extend_target(XcbQpa CONDITION QT_FEATURE_glib
+qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_glib
LIBRARIES
GLIB2::GLIB2
)
-qt_extend_target(XcbQpa CONDITION QT_FEATURE_draganddrop
+qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_draganddrop
SOURCES
qxcbdrag.cpp qxcbdrag.h
)
-qt_extend_target(XcbQpa CONDITION QT_FEATURE_xcb_xlib
+qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_xcb_xlib
+ SOURCES
+ qt_xlib_wrapper.c qt_xlib_wrapper.h
PUBLIC_LIBRARIES
X11::XCB
- X11::X11 # special case
+ X11::X11
)
-qt_extend_target(XcbQpa CONDITION QT_FEATURE_xcb_sm
+qt_internal_extend_target(XcbQpaPrivate CONDITION NOT QT_FEATURE_xcb_xlib
+ SOURCES
+ qxcbcursorfont.h
+)
+
+qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_xcb_sm
SOURCES
qxcbsessionmanager.cpp qxcbsessionmanager.h
PUBLIC_LIBRARIES
- ${X11_SM_LIB} ${X11_ICE_LIB}
+ X11::SM
+ X11::ICE
+)
+
+qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_vulkan
+ SOURCES
+ qxcbvulkaninstance.cpp qxcbvulkaninstance.h
+ qxcbvulkanwindow.cpp qxcbvulkanwindow.h
)
-qt_extend_target(XcbQpa CONDITION QT_FEATURE_dlopen
+qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_dlopen
PUBLIC_LIBRARIES
${CMAKE_DL_LIBS}
)
-qt_extend_target(XcbQpa CONDITION CLANG AND NOT ICC
+qt_internal_extend_target(XcbQpaPrivate CONDITION CLANG
COMPILE_OPTIONS
-ftemplate-depth=1024
)
-qt_extend_target(XcbQpa CONDITION QT_FEATURE_xcb_native_painting
+qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_xcb_native_painting
SOURCES
nativepainting/qbackingstore_x11.cpp nativepainting/qbackingstore_x11_p.h
nativepainting/qcolormap_x11.cpp nativepainting/qcolormap_x11_p.h
nativepainting/qpaintengine_x11.cpp nativepainting/qpaintengine_x11_p.h
nativepainting/qpixmap_x11.cpp nativepainting/qpixmap_x11_p.h
+ nativepainting/qpolygonclipper_p.h
nativepainting/qt_x11_p.h
nativepainting/qtessellator.cpp nativepainting/qtessellator_p.h
nativepainting/qxcbnativepainting.cpp nativepainting/qxcbnativepainting.h
@@ -153,58 +133,49 @@ qt_extend_target(XcbQpa CONDITION QT_FEATURE_xcb_native_painting
nativepainting
)
-qt_extend_target(XcbQpa CONDITION QT_FEATURE_xcb_native_painting AND QT_FEATURE_xrender
+qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_xcb_native_painting AND QT_FEATURE_xrender
PUBLIC_LIBRARIES
PkgConfig::XRender
)
-qt_extend_target(XcbQpa CONDITION QT_FEATURE_fontconfig AND QT_FEATURE_xcb_native_painting
+qt_internal_extend_target(XcbQpaPrivate CONDITION QT_FEATURE_fontconfig AND QT_FEATURE_xcb_native_painting
LIBRARIES
WrapFreetype::WrapFreetype
)
-# special case begin
-if (NOT QT_FEATURE_system_xcb_input)
+if(QT_FEATURE_system_xcb_xinput)
+ qt_internal_extend_target(XcbQpaPrivate LIBRARIES XCB::XINPUT)
+else()
set(xinput_source "${PROJECT_SOURCE_DIR}/src/3rdparty/xcb/libxcb/xinput.c")
set_source_files_properties(
"${xinput_source}"
PROPERTIES COMPILE_OPTIONS "-w"
)
- target_sources(XcbQpa PRIVATE "${xinput_source}")
- target_include_directories(XcbQpa PRIVATE
+ target_sources(XcbQpaPrivate PRIVATE "${xinput_source}")
+ target_include_directories(XcbQpaPrivate PRIVATE
"${PROJECT_SOURCE_DIR}/src/3rdparty/xcb/include"
)
endif()
-# special case end
#####################################################################
## QXcbIntegrationPlugin Plugin:
#####################################################################
-qt_add_plugin(QXcbIntegrationPlugin
+qt_internal_add_plugin(QXcbIntegrationPlugin
OUTPUT_NAME qxcb
- TYPE platforms
- DEFAULT_IF ${QT_QPA_DEFAULT_PLATFORM} MATCHES xcb # special case
+ PLUGIN_TYPE platforms
+ DEFAULT_IF ${QT_QPA_DEFAULT_PLATFORM} MATCHES xcb
SOURCES
qxcbmain.cpp
DEFINES
QT_NO_FOREACH
- PUBLIC_LIBRARIES
+ LIBRARIES
Qt::CorePrivate
Qt::GuiPrivate
Qt::XcbQpaPrivate
)
-#### Keys ignored in scope 20:.:.:xcb-plugin.pro:<TRUE>:
-# OTHER_FILES = "xcb.json" "README"
-
-## Scopes:
-#####################################################################
-
-#### Keys ignored in scope 22:.:.:xcb-plugin.pro:NOT TARGET___equals____ss_QT_DEFAULT_QPA_PLUGIN:
-# PLUGIN_EXTENDS = "-"
add_subdirectory(gl_integrations)
if(OFF)
- add_subdirectory(xcb-static) # special case TODO: xcb-static sub folder
+ add_subdirectory(xcb-static)
endif()
-