From e9c45bbdddd4df005bdaa5eea9740d351e6eaea2 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 24 Oct 2018 15:20:27 +0200 Subject: Begin port of qtbase to CMake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Done-by: Alexandru Croitor Done-by: Frederik Gladhorn Done-by: Kevin Funk Done-by: Mikhail Svetkin Done-by: Simon Hausmann Done-by: Tobias Hunger Done-by: Tor Arne Vestbø Done-by: Volker Krause Change-Id: Ida4f8bd190f9a4849a1af7b5b7981337a5df5310 Reviewed-by: Simon Hausmann Reviewed-by: Tobias Hunger Reviewed-by: Mikhail Svetkin --- src/plugins/CMakeLists.txt | 3 + src/plugins/platforms/CMakeLists.txt | 10 ++ src/plugins/platforms/cocoa/CMakeLists.txt | 115 +++++++++++++++++++ src/plugins/platforms/xcb/CMakeLists.txt | 172 +++++++++++++++++++++++++++++ src/plugins/sqldrivers/configure.json | 4 +- 5 files changed, 301 insertions(+), 3 deletions(-) create mode 100644 src/plugins/CMakeLists.txt create mode 100644 src/plugins/platforms/CMakeLists.txt create mode 100644 src/plugins/platforms/cocoa/CMakeLists.txt create mode 100644 src/plugins/platforms/xcb/CMakeLists.txt (limited to 'src/plugins') diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt new file mode 100644 index 0000000000..ff9afb9c89 --- /dev/null +++ b/src/plugins/CMakeLists.txt @@ -0,0 +1,3 @@ +if(QT_FEATURE_gui) + add_subdirectory(platforms) +endif() diff --git a/src/plugins/platforms/CMakeLists.txt b/src/plugins/platforms/CMakeLists.txt new file mode 100644 index 0000000000..f0ac297d17 --- /dev/null +++ b/src/plugins/platforms/CMakeLists.txt @@ -0,0 +1,10 @@ +qt_pull_features_into_current_scope(PRIVATE_FEATURES Qt::Gui) + +if(QT_FEATURE_xcb) + add_subdirectory(xcb) +endif() + +if(APPLE) + add_subdirectory(cocoa) +endif(APPLE) + diff --git a/src/plugins/platforms/cocoa/CMakeLists.txt b/src/plugins/platforms/cocoa/CMakeLists.txt new file mode 100644 index 0000000000..66cc2bcd89 --- /dev/null +++ b/src/plugins/platforms/cocoa/CMakeLists.txt @@ -0,0 +1,115 @@ +find_package(OpenGL) +find_library(FWAppkit AppKit) +find_library(FWCoreServices CoreServices) +find_library(FWCarbon Carbon) +find_library(FWIOKit IOKit) +find_library(FWQuartzCore QuartzCore) +find_library(FWCoreVideo CoreVideo) +find_library(FWMetal Metal) +find_library(FWcups cups) + +add_qt_plugin(qcocoa + TYPE platforms + SOURCES + main.mm + messages.cpp messages.h + qcocoaaccessibility.h qcocoaaccessibility.mm + qcocoaaccessibilityelement.h qcocoaaccessibilityelement.mm + qcocoaapplication.h qcocoaapplication.mm + qcocoaapplicationdelegate.h qcocoaapplicationdelegate.mm + qcocoabackingstore.h qcocoabackingstore.mm + qcocoaclipboard.h qcocoaclipboard.mm + qcocoacursor.h qcocoacursor.mm + qcocoadrag.h qcocoadrag.mm + qcocoaeventdispatcher.h qcocoaeventdispatcher.mm + qcocoahelpers.h qcocoahelpers.mm + qcocoainputcontext.h qcocoainputcontext.mm + qcocoaintegration.h qcocoaintegration.mm + qcocoaintrospection.h qcocoaintrospection.mm + qcocoakeymapper.h qcocoakeymapper.mm + qcocoamenu.h qcocoamenu.mm + qcocoamenubar.h qcocoamenubar.mm + qcocoamenuitem.h qcocoamenuitem.mm + qcocoamenuloader.h qcocoamenuloader.mm + qcocoamimetypes.h qcocoamimetypes.mm + qcocoanativeinterface.h qcocoanativeinterface.mm + qcocoansmenu.h qcocoansmenu.mm + qcocoascreen.h qcocoascreen.mm + qcocoaservices.h qcocoaservices.mm + qcocoasystemsettings.h qcocoasystemsettings.mm + qcocoasystemtrayicon.h qcocoasystemtrayicon.mm + qcocoatheme.h qcocoatheme.mm + qcocoawindow.h qcocoawindow.mm + qmacclipboard.h qmacclipboard.mm + qmultitouch_mac.mm qmultitouch_mac_p.h + qnsview.h qnsview.mm + qnswindow.h qnswindow.mm + qnswindowdelegate.h qnswindowdelegate.mm + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::AccessibilitySupportPrivate + Qt::ClipboardSupportPrivate + Qt::ThemeSupportPrivate + Qt::FontDatabaseSupportPrivate + Qt::GraphicsSupportPrivate + Qt::PlatformHeaders + ${FWAppKit} + ${FWCoreServices} + ${FWCarbon} + ${FWIOKit} + ${FWQuartzCore} + ${FWCoreVideo} + ${FWMetal} + ${FWcups} +) + +add_qt_resource(qcocoa qcocoaresources PREFIX "/qt-project.org/mac/cursors" + FILES images/spincursor.png images/waitcursor.png images/sizeallcursor.png +) + +extend_target(qcocoa CONDITION QT_FEATURE_opengl + SOURCES + qcocoaglcontext.h qcocoaglcontext.mm + LIBRARIES + OpenGL::GL +) + +extend_target(qcocoa CONDITION QT_FEATURE_vulkan + SOURCES + qcocoavulkaninstance.h qcocoavulkaninstance.mm +) + +extend_target(qcocoa CONDITION QT_FEATURE_vulkan + LIBRARIES + vulkan_support_private +) + +extend_target(qcocoa CONDITION QT_FEATURE_widgets + SOURCES + qcocoaprintdevice.h qcocoaprintdevice.mm + qcocoaprintersupport.h qcocoaprintersupport.mm + qpaintengine_mac.mm qpaintengine_mac_p.h + qprintengine_mac.mm qprintengine_mac_p.h + LIBRARIES + Qt::WidgetsPrivate + Qt::PrintSupportPrivate +) + +extend_target(qcocoa CONDITION (QT_FEATURE_widgets) AND (QT_FEATURE_colordialog) + SOURCES + qcocoacolordialoghelper.h qcocoacolordialoghelper.mm +) + +extend_target(qcocoa CONDITION (QT_FEATURE_widgets) AND (QT_FEATURE_filedialog) + SOURCES + qcocoafiledialoghelper.h qcocoafiledialoghelper.mm +) + +extend_target(qcocoa CONDITION (QT_FEATURE_widgets) AND (QT_FEATURE_fontdialog) + SOURCES + qcocoafontdialoghelper.h qcocoafontdialoghelper.mm +) + +#extend_target(qcocoa CONDITION NOT equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN) +#) diff --git a/src/plugins/platforms/xcb/CMakeLists.txt b/src/plugins/platforms/xcb/CMakeLists.txt new file mode 100644 index 0000000000..90c924b4b1 --- /dev/null +++ b/src/plugins/platforms/xcb/CMakeLists.txt @@ -0,0 +1,172 @@ +# Generated from xcb_qpa_lib.pro. + +##################################################################### +## QtXcbQpa Module: +##################################################################### +find_package(X11_XCB) +find_package(X11) +find_package(XCB) +find_package(XKB) +find_package(PkgConfig) + +pkg_check_modules(XKB_COMMON_X11 xkbcommon-x11>=0.4.1 IMPORTED_TARGET) + +add_qt_module(XcbQpa + NO_MODULE_HEADERS + SOURCES + gl_integrations/qxcbglintegration.cpp gl_integrations/qxcbglintegration.h + gl_integrations/qxcbglintegrationfactory.cpp gl_integrations/qxcbglintegrationfactory.h + gl_integrations/qxcbglintegrationplugin.h + gl_integrations/qxcbnativeinterfacehandler.cpp gl_integrations/qxcbnativeinterfacehandler.h + qxcbbackingstore.cpp qxcbbackingstore.h + qxcbclipboard.cpp qxcbclipboard.h + qxcbconnection.cpp qxcbconnection.h + qxcbcursor.cpp qxcbcursor.h + qxcbimage.cpp qxcbimage.h + qxcbintegration.cpp qxcbintegration.h + qxcbkeyboard.cpp qxcbkeyboard.h + qxcbmime.cpp qxcbmime.h + qxcbnativeinterface.cpp qxcbnativeinterface.h + qxcbobject.h + qxcbscreen.cpp qxcbscreen.h + qxcbsystemtraytracker.cpp qxcbsystemtraytracker.h + qxcbwindow.cpp qxcbwindow.h + qxcbwmsupport.cpp qxcbwmsupport.h + qxcbxkbcommon.h + qxcbxsettings.cpp qxcbxsettings.h + DEFINES + QT_NO_FOREACH + QT_BUILD_XCB_PLUGIN + INCLUDE_DIRECTORIES + gl_integrations/ + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::ServiceSupportPrivate + Qt::ThemeSupportPrivate + Qt::EventDispatcherSupportPrivate + Qt::FontDatabaseSupportPrivate + Qt::EdidSupportPrivate + X11::XCB + XCB::XCB + XCB::SHAPE + XCB::ICCCM + XCB::RANDR + XCB::XKB + XCB::SYNC + XCB::XFIXES + XCB::XINERAMA + XCB::SHM + XCB::IMAGE + XCB::RENDER + XCB::RENDERUTIL + XCB::KEYSYMS + XKB::XKB + PkgConfig::XKB_COMMON_X11 +) + +## Scopes: +##################################################################### + +extend_target(XcbQpa CONDITION TARGET Qt::linuxaccessibility_support_private + LIBRARIES + linuxaccessibility_supportPrivate +) + +extend_target(XcbQpa CONDITION QT_FEATURE_vulkan + LIBRARIES + vulkan_supportPrivate +) + +extend_target(XcbQpa CONDITION QT_FEATURE_draganddrop + SOURCES + qxcbdrag.cpp qxcbdrag.h +) +# +#extend_target(XcbQpa CONDITION QT_FEATURE_xcb_xlib +#) + +extend_target(XcbQpa CONDITION QT_FEATURE_xcb_xinput + SOURCES + qxcbconnection_xi2.cpp +) + +extend_target(XcbQpa CONDITION QT_FEATURE_xcb_sm + SOURCES + qxcbsessionmanager.cpp qxcbsessionmanager.h + LIBRARIES + ${X11_SM_LIB} ${X11_ICE_LIB} +) + +extend_target(XcbQpa CONDITION QT_FEATURE_vulkan + SOURCES + qxcbvulkaninstance.cpp qxcbvulkaninstance.h + qxcbvulkanwindow.cpp qxcbvulkanwindow.h +) +# +#extend_target(XcbQpa CONDITION NOT QT_FEATURE_system_xcb +#) +# +#extend_target(XcbQpa CONDITION NOT NOT QT_FEATURE_system_xcb +#) +# +#extend_target(XcbQpa CONDITION (NOT NOT QT_FEATURE_system_xcb) AND (QT_FEATURE_xkb) +#) +# +#extend_target(XcbQpa CONDITION (NOT NOT QT_FEATURE_system_xcb) AND (QT_FEATURE_xcb_render) +#) +# +#extend_target(XcbQpa CONDITION (NOT NOT QT_FEATURE_system_xcb) AND (QT_FEATURE_xcb_xinput) +#) +# +#extend_target(XcbQpa CONDITION NOT QT_FEATURE_xkbcommon_system +#) + +extend_target(XcbQpa CONDITION (NOT QT_FEATURE_xkbcommon_system) AND (QT_FEATURE_xkb) + INCLUDE_DIRECTORIES + ../../../3rdparty/xkbcommon/src/x11 +) + +extend_target(XcbQpa CONDITION (NOT QT_FEATURE_xkbcommon_system) AND (NOT QT_FEATURE_xkb) + INCLUDE_DIRECTORIES + ../../../3rdparty/xkbcommon + ../../../3rdparty/xkbcommon/xkbcommon + ../../../3rdparty/xkbcommon/src + ../../../3rdparty/xkbcommon/src/xkbcomp +) +# +#extend_target(XcbQpa CONDITION NOT NOT QT_FEATURE_xkbcommon_system +#) +# +#extend_target(XcbQpa CONDITION QT_FEATURE_dlopen +#) + +extend_target(XcbQpa 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/qt_x11_p.h + nativepainting/qtessellator.cpp nativepainting/qtessellator_p.h + nativepainting/qxcbnativepainting.cpp nativepainting/qxcbnativepainting.h + INCLUDE_DIRECTORIES + nativepainting/ +) +# +#extend_target(XcbQpa CONDITION (QT_FEATURE_xcb_native_painting) AND (QT_FEATURE_xrender) +#) + +extend_target(XcbQpa CONDITION (QT_FEATURE_xcb_native_painting) AND (QT_FEATURE_fontconfig) + LIBRARIES + freetype +) + +add_qt_plugin(qxcb + TYPE platforms + SOURCES + qxcbmain.cpp + LIBRARIES + Qt::XcbQpa + Qt::GuiPrivate +) diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json index 4802d3b04d..417d894978 100644 --- a/src/plugins/sqldrivers/configure.json +++ b/src/plugins/sqldrivers/configure.json @@ -221,9 +221,7 @@ { "type": "warning", "condition": "config.win32 && !config.msvc && features.sql-oci", - "message": "Qt does not support compiling the Oracle database driver with -MinGW, due to lack of such support from Oracle. Consider disabling the -Oracle driver, as the current build will most likely fail." + "message": "Qt does not support compiling the Oracle database driver with MinGW, due to lack of such support from Oracle. Consider disabling the Oracle driver, as the current build will most likely fail." } ], -- cgit v1.2.3