diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 5502d190a78..c8c9b11d95b 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -507,6 +507,27 @@ qt_extend_target(Gui CONDITION QT_FEATURE_freetype WrapFreetype::WrapFreetype ) +qt_extend_target(Gui CONDITION APPLE + SOURCES + text/coretext/qcoretextfontdatabase.mm text/coretext/qcoretextfontdatabase_p.h + text/coretext/qfontengine_coretext.mm text/coretext/qfontengine_coretext_p.h + LIBRARIES + ${FWCoreFoundation} + ${FWCoreGraphics} + ${FWCoreText} + ${FWFoundation} +) + +qt_extend_target(Gui CONDITION MACOS + LIBRARIES + ${FWAppKit} +) + +qt_extend_target(Gui CONDITION UIKIT + LIBRARIES + ${FWUIKit} +) + #### Keys ignored in scope 39:.:image:image/image.pri:WIN32 AND mingw: # GCC_VERSION = "$${QMAKE_GCC_MAJOR_VERSION}.$${QMAKE_GCC_MINOR_VERSION}.$${QMAKE_GCC_PATCH_VERSION}" diff --git a/src/platformsupport/fontdatabases/mac/coretext.pri b/src/gui/text/coretext/coretext.pri similarity index 100% rename from src/platformsupport/fontdatabases/mac/coretext.pri rename to src/gui/text/coretext/coretext.pri diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/gui/text/coretext/qcoretextfontdatabase.mm similarity index 99% rename from src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm rename to src/gui/text/coretext/qcoretextfontdatabase.mm index c0f1bd4d8d6..ba3c2424d02 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/gui/text/coretext/qcoretextfontdatabase.mm @@ -132,7 +132,7 @@ void QCoreTextFontDatabase::populateFontDatabase() qCDebug(lcQpaFonts) << "Resolving theme fonts took" << elapsed.restart() << "ms"; - Q_FOREACH (CTFontDescriptorRef fontDesc, m_systemFontDescriptors) + for (CTFontDescriptorRef fontDesc : m_systemFontDescriptors) populateFromDescriptor(fontDesc); qCDebug(lcQpaFonts) << "Populating system descriptors took" << elapsed.restart() << "ms"; diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h b/src/gui/text/coretext/qcoretextfontdatabase_p.h similarity index 96% rename from src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h rename to src/gui/text/coretext/qcoretextfontdatabase_p.h index 63419f75a94..971ac3cfde4 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h +++ b/src/gui/text/coretext/qcoretextfontdatabase_p.h @@ -65,7 +65,7 @@ Q_DECLARE_METATYPE(QCFType); QT_BEGIN_NAMESPACE -class QCoreTextFontDatabase : public QPlatformFontDatabase +class Q_GUI_EXPORT QCoreTextFontDatabase : public QPlatformFontDatabase { public: QCoreTextFontDatabase(); @@ -104,7 +104,7 @@ private: // to generate code for each override in QCoreTextFontDatabase for each T. template -class QCoreTextFontDatabaseEngineFactory : public QCoreTextFontDatabase +class Q_GUI_EXPORT QCoreTextFontDatabaseEngineFactory : public QCoreTextFontDatabase { public: QFontEngine *fontEngine(const QFontDef &fontDef, void *handle) override; diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/gui/text/coretext/qfontengine_coretext.mm similarity index 100% rename from src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm rename to src/gui/text/coretext/qfontengine_coretext.mm diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h b/src/gui/text/coretext/qfontengine_coretext_p.h similarity index 97% rename from src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h rename to src/gui/text/coretext/qfontengine_coretext_p.h index da75594fdef..fe8161ee8de 100644 --- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext_p.h +++ b/src/gui/text/coretext/qfontengine_coretext_p.h @@ -66,7 +66,7 @@ QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcQpaFonts) -class QCoreTextFontEngine : public QFontEngine +class Q_GUI_EXPORT QCoreTextFontEngine : public QFontEngine { Q_GADGET @@ -152,7 +152,7 @@ protected: mutable bool kerningPairsLoaded; }; -CGAffineTransform qt_transform_from_fontdef(const QFontDef &fontDef); +CGAffineTransform Q_GUI_EXPORT qt_transform_from_fontdef(const QFontDef &fontDef); QT_END_NAMESPACE diff --git a/src/gui/text/text.pri b/src/gui/text/text.pri index 3974a6bbec9..192cd5f426f 100644 --- a/src/gui/text/text.pri +++ b/src/gui/text/text.pri @@ -127,3 +127,7 @@ qtConfig(cssparser) { qtConfig(freetype) { include($$PWD/freetype/freetype.pri) } + +darwin { + include($$PWD/coretext/coretext.pri) +} diff --git a/src/platformsupport/fontdatabases/CMakeLists.txt b/src/platformsupport/fontdatabases/CMakeLists.txt index 01802f99fdf..913e9ba14ec 100644 --- a/src/platformsupport/fontdatabases/CMakeLists.txt +++ b/src/platformsupport/fontdatabases/CMakeLists.txt @@ -25,27 +25,6 @@ qt_add_module(FontDatabaseSupport ## Scopes: ##################################################################### -qt_extend_target(FontDatabaseSupport CONDITION APPLE - SOURCES - mac/qcoretextfontdatabase.mm mac/qcoretextfontdatabase_p.h - mac/qfontengine_coretext.mm mac/qfontengine_coretext_p.h - LIBRARIES - ${FWCoreFoundation} - ${FWCoreGraphics} - ${FWCoreText} - ${FWFoundation} -) - -qt_extend_target(FontDatabaseSupport CONDITION MACOS - LIBRARIES - ${FWAppKit} -) - -qt_extend_target(FontDatabaseSupport CONDITION APPLE AND NOT MACOS - LIBRARIES - ${FWUIKit} -) - qt_extend_target(FontDatabaseSupport CONDITION QT_FEATURE_freetype LIBRARIES WrapFreetype::WrapFreetype diff --git a/src/platformsupport/fontdatabases/fontdatabases.pro b/src/platformsupport/fontdatabases/fontdatabases.pro index f102bb8e9db..d90ec316858 100644 --- a/src/platformsupport/fontdatabases/fontdatabases.pro +++ b/src/platformsupport/fontdatabases/fontdatabases.pro @@ -7,10 +7,6 @@ CONFIG += static internal_module DEFINES += QT_NO_CAST_FROM_ASCII PRECOMPILED_HEADER = ../../corelib/global/qt_pch.h -darwin { - include($$PWD/mac/coretext.pri) -} - unix { include($$PWD/genericunix/genericunix.pri) } diff --git a/src/platformsupport/platformsupport.pro b/src/platformsupport/platformsupport.pro index 7d099b7bbcd..a3b194a17b3 100644 --- a/src/platformsupport/platformsupport.pro +++ b/src/platformsupport/platformsupport.pro @@ -8,7 +8,7 @@ SUBDIRS = \ fbconvenience \ themes -qtConfig(freetype)|darwin|win32: \ +if(qtConfig(freetype):!darwin)|win32: \ SUBDIRS += fontdatabases qtConfig(evdev)|qtConfig(tslib)|qtConfig(libinput)|qtConfig(integrityhid)|qtConfig(xkbcommon) { diff --git a/src/plugins/platforms/cocoa/CMakeLists.txt b/src/plugins/platforms/cocoa/CMakeLists.txt index 14244a6dacf..ce4c245a175 100644 --- a/src/plugins/platforms/cocoa/CMakeLists.txt +++ b/src/plugins/platforms/cocoa/CMakeLists.txt @@ -58,7 +58,6 @@ qt_internal_add_plugin(QCocoaIntegrationPlugin Cups::Cups Qt::Core Qt::CorePrivate - Qt::FontDatabaseSupportPrivate Qt::Gui Qt::GuiPrivate Qt::ThemeSupportPrivate diff --git a/src/plugins/platforms/cocoa/cocoa.pro b/src/plugins/platforms/cocoa/cocoa.pro index be75cf3f515..9bd95bbceb2 100644 --- a/src/plugins/platforms/cocoa/cocoa.pro +++ b/src/plugins/platforms/cocoa/cocoa.pro @@ -96,8 +96,7 @@ DEFINES += QT_NO_FOREACH QT += \ core-private gui-private \ - theme_support-private \ - fontdatabase_support-private + theme_support-private qtHaveModule(platformcompositor_support-private): QT += platformcompositor_support-private diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.h b/src/plugins/platforms/cocoa/qcocoaintegration.h index 30838ba2545..2fb16faca5f 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.h +++ b/src/plugins/platforms/cocoa/qcocoaintegration.h @@ -57,7 +57,7 @@ #include #include -#include +#include QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index 2d198094355..27e0bb5f308 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -66,7 +66,7 @@ #include -#include +#include #if QT_CONFIG(opengl) #include diff --git a/src/plugins/platforms/cocoa/qcocoatheme.mm b/src/plugins/platforms/cocoa/qcocoatheme.mm index d73b028afb1..543348c7b63 100644 --- a/src/plugins/platforms/cocoa/qcocoatheme.mm +++ b/src/plugins/platforms/cocoa/qcocoatheme.mm @@ -56,8 +56,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/src/plugins/platforms/ios/CMakeLists.txt b/src/plugins/platforms/ios/CMakeLists.txt index 3e41e7e9c72..e7925b52827 100644 --- a/src/plugins/platforms/ios/CMakeLists.txt +++ b/src/plugins/platforms/ios/CMakeLists.txt @@ -33,7 +33,6 @@ add_qt_plugin(QIOSIntegrationPlugin ${FWUIKit} Qt::Core Qt::CorePrivate - Qt::FontDatabaseSupportPrivate Qt::Gui Qt::GuiPrivate ) diff --git a/src/plugins/platforms/ios/kernel.pro b/src/plugins/platforms/ios/kernel.pro index 54c46208d81..859fa6e0797 100644 --- a/src/plugins/platforms/ios/kernel.pro +++ b/src/plugins/platforms/ios/kernel.pro @@ -6,8 +6,7 @@ TARGET = qios qtConfig(shared): CONFIG += static QT += \ - core-private gui-private \ - fontdatabase_support-private + core-private gui-private qtHaveModule(platformcompositor_support-private): QT += platformcompositor_support-private diff --git a/src/plugins/platforms/ios/qiosintegration.mm b/src/plugins/platforms/ios/qiosintegration.mm index e9046151f5c..3b01342b8e4 100644 --- a/src/plugins/platforms/ios/qiosintegration.mm +++ b/src/plugins/platforms/ios/qiosintegration.mm @@ -59,7 +59,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/plugins/platforms/ios/qiostheme.mm b/src/plugins/platforms/ios/qiostheme.mm index 626fbb66fe9..1360af9d763 100644 --- a/src/plugins/platforms/ios/qiostheme.mm +++ b/src/plugins/platforms/ios/qiostheme.mm @@ -46,7 +46,7 @@ #include #include -#include +#include #include #include diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro index a1a2da547b3..eaa5deb7217 100644 --- a/src/plugins/platforms/minimal/minimal.pro +++ b/src/plugins/platforms/minimal/minimal.pro @@ -2,7 +2,9 @@ TARGET = qminimal QT += \ core-private gui-private \ - eventdispatcher_support-private fontdatabase_support-private + eventdispatcher_support-private + +!darwin: QT += fontdatabase_support-private DEFINES += QT_NO_FOREACH diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp index b1f07f0ac28..bfdcda1a849 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.cpp +++ b/src/plugins/platforms/minimal/qminimalintegration.cpp @@ -54,7 +54,7 @@ # include # endif #elif defined(Q_OS_DARWIN) -# include +# include #endif #if QT_CONFIG(fontconfig) diff --git a/src/plugins/platforms/offscreen/offscreen.pro b/src/plugins/platforms/offscreen/offscreen.pro index f226132592d..d44caf536c5 100644 --- a/src/plugins/platforms/offscreen/offscreen.pro +++ b/src/plugins/platforms/offscreen/offscreen.pro @@ -2,7 +2,9 @@ TARGET = qoffscreen QT += \ core-private gui-private \ - eventdispatcher_support-private fontdatabase_support-private + eventdispatcher_support-private + +!darwin: QT += fontdatabase_support-private DEFINES += QT_NO_FOREACH diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp index 4a27bc511d8..1d9a6ee2f76 100644 --- a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp +++ b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp @@ -45,7 +45,7 @@ #include #if defined(Q_OS_MAC) #include -#include +#include #else #include #endif