summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-05-11 17:57:24 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-06-04 01:46:27 +0200
commit7f179eff61826323afea474b8ecd1a04f0a41e32 (patch)
treea0b32c05171d45b5957f09034e3b6220894e1f8b
parent6a3c6f939f29c83d53d2da0c3f53b814bdd02358 (diff)
Move macOS print support from platform plugin into QtPrintSupport
Task-number: QTBUG-83256 Change-Id: I29044b6c3f952c259f501f94a175c8ef2cbaae55 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-rw-r--r--src/plugins/platforms/cocoa/CMakeLists.txt18
-rw-r--r--src/plugins/platforms/cocoa/cocoa.pro17
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.h20
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.mm30
-rw-r--r--src/plugins/printsupport/cocoa/main.cpp16
-rw-r--r--src/printsupport/CMakeLists.txt11
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog_mac.mm10
-rw-r--r--src/printsupport/dialogs/qprintdialog_mac.mm10
-rw-r--r--src/printsupport/platform/macos/macos.pri13
-rw-r--r--src/printsupport/platform/macos/qcocoaprintdevice.mm (renamed from src/plugins/platforms/cocoa/qcocoaprintdevice.mm)2
-rw-r--r--src/printsupport/platform/macos/qcocoaprintdevice_p.h (renamed from src/plugins/platforms/cocoa/qcocoaprintdevice.h)4
-rw-r--r--src/printsupport/platform/macos/qcocoaprintersupport.mm (renamed from src/plugins/platforms/cocoa/qcocoaprintersupport.mm)6
-rw-r--r--src/printsupport/platform/macos/qcocoaprintersupport_p.h (renamed from src/plugins/platforms/cocoa/qcocoaprintersupport.h)15
-rw-r--r--src/printsupport/platform/macos/qpaintengine_mac.mm (renamed from src/plugins/platforms/cocoa/qpaintengine_mac.mm)6
-rw-r--r--src/printsupport/platform/macos/qpaintengine_mac_p.h (renamed from src/plugins/platforms/cocoa/qpaintengine_mac_p.h)2
-rw-r--r--src/printsupport/platform/macos/qprintengine_mac.mm (renamed from src/plugins/platforms/cocoa/qprintengine_mac.mm)10
-rw-r--r--src/printsupport/platform/macos/qprintengine_mac_p.h (renamed from src/plugins/platforms/cocoa/qprintengine_mac_p.h)6
-rw-r--r--src/printsupport/printsupport.pro2
18 files changed, 75 insertions, 123 deletions
diff --git a/src/plugins/platforms/cocoa/CMakeLists.txt b/src/plugins/platforms/cocoa/CMakeLists.txt
index 9d578e7eed..11f3f99d8d 100644
--- a/src/plugins/platforms/cocoa/CMakeLists.txt
+++ b/src/plugins/platforms/cocoa/CMakeLists.txt
@@ -1,7 +1,6 @@
# Generated from cocoa.pro.
# special case:
-qt_find_package(Cups PROVIDED_TARGETS Cups::Cups)
#####################################################################
## QCocoaIntegrationPlugin Plugin:
@@ -55,7 +54,6 @@ qt_internal_add_plugin(QCocoaIntegrationPlugin
${FWIOSurface}
${FWMetal}
${FWQuartzCore}
- Cups::Cups
Qt::Core
Qt::CorePrivate
Qt::Gui
@@ -110,25 +108,9 @@ qt_extend_target(QCocoaIntegrationPlugin CONDITION QT_FEATURE_sessionmanager
qcocoasessionmanager.cpp qcocoasessionmanager.h
)
-qt_extend_target(QCocoaIntegrationPlugin CONDITION TARGET Qt::Widgets
- SOURCES
- qpaintengine_mac.mm qpaintengine_mac_p.h
- PUBLIC_LIBRARIES
- Qt::WidgetsPrivate
-)
-
#### Keys ignored in scope 7:.:.:cocoa.pro:TARGET Qt::Widgets:
# QT_FOR_CONFIG = "widgets"
-qt_extend_target(QCocoaIntegrationPlugin CONDITION TARGET Qt::PrintSupport AND TARGET Qt::Widgets
- SOURCES
- qcocoaprintdevice.h qcocoaprintdevice.mm
- qcocoaprintersupport.h qcocoaprintersupport.mm
- qprintengine_mac.mm qprintengine_mac_p.h
- PUBLIC_LIBRARIES
- Qt::PrintSupportPrivate
-)
-
qt_extend_target(QCocoaIntegrationPlugin CONDITION QT_FEATURE_colordialog AND TARGET Qt::Widgets
SOURCES
qcocoacolordialoghelper.h qcocoacolordialoghelper.mm
diff --git a/src/plugins/platforms/cocoa/cocoa.pro b/src/plugins/platforms/cocoa/cocoa.pro
index c0a7b4e6cf..a33b99e898 100644
--- a/src/plugins/platforms/cocoa/cocoa.pro
+++ b/src/plugins/platforms/cocoa/cocoa.pro
@@ -89,7 +89,7 @@ qtConfig(sessionmanager) {
RESOURCES += qcocoaresources.qrc
-LIBS += -framework AppKit -framework CoreServices -framework Carbon -framework IOKit -framework QuartzCore -framework CoreVideo -framework Metal -framework IOSurface -lcups
+LIBS += -framework AppKit -framework CoreServices -framework Carbon -framework IOKit -framework QuartzCore -framework CoreVideo -framework Metal -framework IOSurface
DEFINES += QT_NO_FOREACH
@@ -100,21 +100,6 @@ CONFIG += no_app_extension_api_only
qtHaveModule(widgets) {
QT_FOR_CONFIG += widgets
- SOURCES += qpaintengine_mac.mm
- HEADERS += qpaintengine_mac_p.h
-
- qtHaveModule(printsupport) {
- QT += printsupport-private
- SOURCES += \
- qprintengine_mac.mm \
- qcocoaprintersupport.mm \
- qcocoaprintdevice.mm
- HEADERS += \
- qcocoaprintersupport.h \
- qcocoaprintdevice.h \
- qprintengine_mac_p.h
- }
-
qtConfig(colordialog) {
SOURCES += qcocoacolordialoghelper.mm
HEADERS += qcocoacolordialoghelper.h
diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.h b/src/plugins/platforms/cocoa/qcocoanativeinterface.h
index c30297c8ca..45330cf1b8 100644
--- a/src/plugins/platforms/cocoa/qcocoanativeinterface.h
+++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.h
@@ -45,13 +45,10 @@
#include <qpa/qplatformnativeinterface.h>
#include <QtGui/qpixmap.h>
Q_MOC_INCLUDE(<QWindow>)
-Q_MOC_INCLUDE(<qpa/qplatformprintersupport.h>)
-Q_MOC_INCLUDE(<QPrintEngine>)
QT_BEGIN_NAMESPACE
class QWidget;
-class QPlatformPrinterSupport;
class QPrintEngine;
class QPlatformMenu;
class QPlatformMenuBar;
@@ -81,23 +78,6 @@ public Q_SLOTS:
private:
/*
- "Virtual" function to create the platform printer support
- implementation.
-
- We use an invokable function instead of a virtual one, we do not want
- this in the QPlatform* API yet.
-
- This was added here only because QPlatformNativeInterface is a QObject
- and allow us to use QMetaObject::indexOfMethod() from the printsupport
- plugin.
- */
- Q_INVOKABLE QPlatformPrinterSupport *createPlatformPrinterSupport();
- /*
- Function to return the NSPrintInfo * from QMacPaintEnginePrivate.
- Needed by the native print dialog in the Qt Print Support module.
- */
- Q_INVOKABLE void *NSPrintInfoForPrintEngine(QPrintEngine *printEngine);
- /*
Function to return the default background pixmap.
Needed by QWizard in the Qt widget module.
*/
diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
index 8e336d9ee7..fbc2e8f13e 100644
--- a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
+++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm
@@ -59,12 +59,6 @@
#include <QtGui/qguiapplication.h>
#include <qdebug.h>
-#if !defined(QT_NO_WIDGETS) && defined(QT_PRINTSUPPORT_LIB)
-#include "qcocoaprintersupport.h"
-#include "qprintengine_mac_p.h"
-#include <qpa/qplatformprintersupport.h>
-#endif
-
#include <QtGui/private/qcoregraphics_p.h>
#include <QtPlatformHeaders/qcocoawindowfunctions.h>
@@ -147,30 +141,6 @@ QPlatformNativeInterface::NativeResourceForIntegrationFunction QCocoaNativeInter
return nullptr;
}
-QPlatformPrinterSupport *QCocoaNativeInterface::createPlatformPrinterSupport()
-{
-#if !defined(QT_NO_WIDGETS) && !defined(QT_NO_PRINTER) && defined(QT_PRINTSUPPORT_LIB)
- return new QCocoaPrinterSupport();
-#else
- qFatal("Printing is not supported when Qt is configured with -no-widgets or -no-feature-printer");
- return nullptr;
-#endif
-}
-
-void *QCocoaNativeInterface::NSPrintInfoForPrintEngine(QPrintEngine *printEngine)
-{
-#if !defined(QT_NO_WIDGETS) && !defined(QT_NO_PRINTER) && defined(QT_PRINTSUPPORT_LIB)
- QMacPrintEnginePrivate *macPrintEnginePriv = static_cast<QMacPrintEngine *>(printEngine)->d_func();
- if (macPrintEnginePriv->state == QPrinter::Idle && !macPrintEnginePriv->isPrintSessionInitialized())
- macPrintEnginePriv->initialize();
- return macPrintEnginePriv->printInfo;
-#else
- Q_UNUSED(printEngine);
- qFatal("Printing is not supported when Qt is configured with -no-widgets or -no-feature-printer");
- return nullptr;
-#endif
-}
-
QPixmap QCocoaNativeInterface::defaultBackgroundPixmapForQWizard()
{
// Note: starting with macOS 10.14, the KeyboardSetupAssistant app bundle no
diff --git a/src/plugins/printsupport/cocoa/main.cpp b/src/plugins/printsupport/cocoa/main.cpp
index b6830c88d4..26ef5cca22 100644
--- a/src/plugins/printsupport/cocoa/main.cpp
+++ b/src/plugins/printsupport/cocoa/main.cpp
@@ -42,6 +42,8 @@
#include <qpa/qplatformnativeinterface.h>
#include <qpa/qplatformprintplugin.h>
+#include <QtPrintSupport/private/qcocoaprintersupport_p.h>
+
QT_BEGIN_NAMESPACE
class QCocoaPrinterSupportPlugin : public QPlatformPrinterSupportPlugin
@@ -57,18 +59,8 @@ QPlatformPrinterSupport *QCocoaPrinterSupportPlugin::create(const QString &key)
{
if (key.compare(key, QLatin1String("cocoaprintersupport"), Qt::CaseInsensitive) != 0)
return 0;
- QGuiApplication *app = qobject_cast<QGuiApplication *>(QCoreApplication::instance());
- if (!app)
- return 0;
- QPlatformNativeInterface *platformNativeInterface = app->platformNativeInterface();
- int at = platformNativeInterface->metaObject()->indexOfMethod("createPlatformPrinterSupport()");
- if (at == -1)
- return 0;
- QMetaMethod createPlatformPrinterSupport = platformNativeInterface->metaObject()->method(at);
- QPlatformPrinterSupport *platformPrinterSupport = 0;
- if (!createPlatformPrinterSupport.invoke(platformNativeInterface, Q_RETURN_ARG(QPlatformPrinterSupport *, platformPrinterSupport)))
- return 0;
- return platformPrinterSupport;
+
+ return new QCocoaPrinterSupport();
}
QT_END_NAMESPACE
diff --git a/src/printsupport/CMakeLists.txt b/src/printsupport/CMakeLists.txt
index 9c73d78267..e032845cae 100644
--- a/src/printsupport/CMakeLists.txt
+++ b/src/printsupport/CMakeLists.txt
@@ -143,6 +143,17 @@ if(QT_FEATURE_printdialog)
)
endif()
+qt_extend_target(PrintSupport CONDITION MACOS AND TARGET Qt::Widgets
+ SOURCES
+ platform/macos/qpaintengine_mac.mm platform/macos/qpaintengine_mac_p.h
+ platform/macos/qcocoaprintdevice_p.h platform/macos/qcocoaprintdevice.mm
+ platform/macos/qcocoaprintersupport_p.h platform/macos/qcocoaprintersupport.mm
+ platform/macos/qprintengine_mac.mm platform/macos/qprintengine_mac_p.h
+ PUBLIC_LIBRARIES
+ Qt::WidgetsPrivate
+ Cups::Cups
+)
+
qt_extend_target(PrintSupport CONDITION MACOS AND QT_FEATURE_printdialog
SOURCES
dialogs/qpagesetupdialog_mac.mm
diff --git a/src/printsupport/dialogs/qpagesetupdialog_mac.mm b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
index a3511fe7b6..b88d03696a 100644
--- a/src/printsupport/dialogs/qpagesetupdialog_mac.mm
+++ b/src/printsupport/dialogs/qpagesetupdialog_mac.mm
@@ -47,6 +47,8 @@
#include <qpa/qplatformnativeinterface.h>
#include <QtPrintSupport/qprintengine.h>
+#include <QtPrintSupport/private/qprintengine_mac_p.h>
+
QT_USE_NAMESPACE
@class QT_MANGLE_NAMESPACE(QCocoaPageLayoutDelegate);
@@ -114,13 +116,7 @@ void QMacPageSetupDialogPrivate::openCocoaPageLayout(Qt::WindowModality modality
{
Q_Q(QPageSetupDialog);
- // get the NSPrintInfo from the print engine in the platform plugin
- void *voidp = 0;
- (void) QMetaObject::invokeMethod(qApp->platformNativeInterface(),
- "NSPrintInfoForPrintEngine",
- Q_RETURN_ARG(void *, voidp),
- Q_ARG(QPrintEngine *, printer->printEngine()));
- printInfo = static_cast<NSPrintInfo *>(voidp);
+ printInfo = static_cast<QMacPrintEngine *>(printer->printEngine())->printInfo();
[printInfo retain];
pageLayout = [NSPageLayout pageLayout];
diff --git a/src/printsupport/dialogs/qprintdialog_mac.mm b/src/printsupport/dialogs/qprintdialog_mac.mm
index a4101f7ec0..9f84f98588 100644
--- a/src/printsupport/dialogs/qprintdialog_mac.mm
+++ b/src/printsupport/dialogs/qprintdialog_mac.mm
@@ -49,6 +49,8 @@
#include <QtPrintSupport/qprintengine.h>
#include <qpa/qplatformprintdevice.h>
+#include <QtPrintSupport/private/qprintengine_mac_p.h>
+
QT_BEGIN_NAMESPACE
extern qreal qt_pointMultiplier(QPageLayout::Unit unit);
@@ -216,13 +218,7 @@ void QPrintDialogPrivate::openCocoaPrintPanel(Qt::WindowModality modality)
Q_Q(QPrintDialog);
if (printer->outputFormat() == QPrinter::NativeFormat) {
- // get the NSPrintInfo from the print engine in the platform plugin
- void *voidp = 0;
- (void) QMetaObject::invokeMethod(qApp->platformNativeInterface(),
- "NSPrintInfoForPrintEngine",
- Q_RETURN_ARG(void *, voidp),
- Q_ARG(QPrintEngine *, printer->printEngine()));
- printInfo = static_cast<NSPrintInfo *>(voidp);
+ printInfo = static_cast<QMacPrintEngine *>(printer->printEngine())->printInfo();
[printInfo retain];
} else {
printInfo = [NSPrintInfo.sharedPrintInfo retain];
diff --git a/src/printsupport/platform/macos/macos.pri b/src/printsupport/platform/macos/macos.pri
new file mode 100644
index 0000000000..fc5c5c9b93
--- /dev/null
+++ b/src/printsupport/platform/macos/macos.pri
@@ -0,0 +1,13 @@
+SOURCES += \
+ $$PWD/qprintengine_mac.mm \
+ $$PWD/qpaintengine_mac.mm \
+ $$PWD/qcocoaprintersupport.mm \
+ $$PWD/qcocoaprintdevice.mm
+
+HEADERS += \
+ $$PWD/qcocoaprintersupport_p.h \
+ $$PWD/qcocoaprintdevice_p.h \
+ $$PWD/qprintengine_mac_p.h \
+ $$PWD/qpaintengine_mac_p.h
+
+LIBS += -framework ApplicationServices -lcups
diff --git a/src/plugins/platforms/cocoa/qcocoaprintdevice.mm b/src/printsupport/platform/macos/qcocoaprintdevice.mm
index ab304d9c04..118adc0b96 100644
--- a/src/plugins/platforms/cocoa/qcocoaprintdevice.mm
+++ b/src/printsupport/platform/macos/qcocoaprintdevice.mm
@@ -39,7 +39,7 @@
#include <ApplicationServices/ApplicationServices.h>
-#include "qcocoaprintdevice.h"
+#include "qcocoaprintdevice_p.h"
#if QT_CONFIG(mimetype)
#include <QtCore/qmimedatabase.h>
diff --git a/src/plugins/platforms/cocoa/qcocoaprintdevice.h b/src/printsupport/platform/macos/qcocoaprintdevice_p.h
index 59a521e0b5..f40a3b2666 100644
--- a/src/plugins/platforms/cocoa/qcocoaprintdevice.h
+++ b/src/printsupport/platform/macos/qcocoaprintdevice_p.h
@@ -55,6 +55,10 @@
#ifndef QT_NO_PRINTER
+#include <ApplicationServices/ApplicationServices.h>
+
+#include <QtPrintSupport/qtprintsupportglobal.h>
+
#include <cups/ppd.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/cocoa/qcocoaprintersupport.mm b/src/printsupport/platform/macos/qcocoaprintersupport.mm
index 4c5c7aef88..0a285dddc6 100644
--- a/src/plugins/platforms/cocoa/qcocoaprintersupport.mm
+++ b/src/printsupport/platform/macos/qcocoaprintersupport.mm
@@ -37,7 +37,9 @@
**
****************************************************************************/
-#include "qcocoaprintersupport.h"
+#include <AppKit/AppKit.h>
+
+#include "qcocoaprintersupport_p.h"
#ifndef QT_NO_PRINTER
@@ -45,7 +47,7 @@
#include <QtCore/private/qcore_mac_p.h>
-#include "qcocoaprintdevice.h"
+#include "qcocoaprintdevice_p.h"
#include "qprintengine_mac_p.h"
#include <private/qprinterinfo_p.h>
diff --git a/src/plugins/platforms/cocoa/qcocoaprintersupport.h b/src/printsupport/platform/macos/qcocoaprintersupport_p.h
index b1a9541c03..c12e8c355b 100644
--- a/src/plugins/platforms/cocoa/qcocoaprintersupport.h
+++ b/src/printsupport/platform/macos/qcocoaprintersupport_p.h
@@ -40,12 +40,25 @@
#ifndef QCOCOAPRINTERSUPPORT_H
#define QCOCOAPRINTERSUPPORT_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists for the convenience
+// of internal files. This header file may change from version to version
+// without notice, or even be removed.
+//
+// We mean it.
+//
+
#include <qpa/qplatformprintersupport.h>
#ifndef QT_NO_PRINTER
+#include <QtPrintSupport/qtprintsupportglobal.h>
+
QT_BEGIN_NAMESPACE
-class QCocoaPrinterSupport : public QPlatformPrinterSupport
+class Q_PRINTSUPPORT_EXPORT QCocoaPrinterSupport : public QPlatformPrinterSupport
{
public:
QCocoaPrinterSupport();
diff --git a/src/plugins/platforms/cocoa/qpaintengine_mac.mm b/src/printsupport/platform/macos/qpaintengine_mac.mm
index b50c39c9b0..fd82539df6 100644
--- a/src/plugins/platforms/cocoa/qpaintengine_mac.mm
+++ b/src/printsupport/platform/macos/qpaintengine_mac.mm
@@ -41,18 +41,14 @@
#include <CoreGraphics/CoreGraphics.h>
#include "qpaintengine_mac_p.h"
-#if defined(QT_PRINTSUPPORT_LIB)
#include "qprintengine_mac_p.h"
-#endif
#include <qbitmap.h>
#include <qpaintdevice.h>
#include <qpainterpath.h>
#include <qpixmapcache.h>
#include <private/qpaintengine_raster_p.h>
-#if defined(QT_PRINTSUPPORT_LIB)
#include <qprinter.h>
-#endif
#include <qstack.h>
#include <qwidget.h>
#include <qvarlengtharray.h>
@@ -71,8 +67,6 @@
#include <private/qtextengine_p.h>
#include <private/qcoregraphics_p.h>
-#include "qcocoahelpers.h"
-
#include <string.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/cocoa/qpaintengine_mac_p.h b/src/printsupport/platform/macos/qpaintengine_mac_p.h
index a52e9cbe1c..5ee158e8e5 100644
--- a/src/plugins/platforms/cocoa/qpaintengine_mac_p.h
+++ b/src/printsupport/platform/macos/qpaintengine_mac_p.h
@@ -51,6 +51,8 @@
// We mean it.
//
+#include <QtPrintSupport/qtprintsupportglobal.h>
+
#include <QtGui/qpaintengine.h>
#include <QtGui/private/qpaintengine_p.h>
#include <QtGui/private/qpolygonclipper_p.h>
diff --git a/src/plugins/platforms/cocoa/qprintengine_mac.mm b/src/printsupport/platform/macos/qprintengine_mac.mm
index 9391f921ec..1b06722447 100644
--- a/src/plugins/platforms/cocoa/qprintengine_mac.mm
+++ b/src/printsupport/platform/macos/qprintengine_mac.mm
@@ -41,7 +41,7 @@
#include <ApplicationServices/ApplicationServices.h>
#include "qprintengine_mac_p.h"
-#include "qcocoaprintersupport.h"
+#include "qcocoaprintersupport_p.h"
#include <quuid.h>
#include <QtGui/qpagelayout.h>
#include <QtCore/qcoreapplication.h>
@@ -792,6 +792,14 @@ QVariant QMacPrintEngine::property(PrintEnginePropertyKey key) const
return ret;
}
+NSPrintInfo *QMacPrintEngine::printInfo()
+{
+ Q_D(QMacPrintEngine);
+ if (d->state == QPrinter::Idle && !d->isPrintSessionInitialized())
+ d->initialize();
+ return d->printInfo;
+}
+
QT_END_NAMESPACE
#endif // QT_NO_PRINTER
diff --git a/src/plugins/platforms/cocoa/qprintengine_mac_p.h b/src/printsupport/platform/macos/qprintengine_mac_p.h
index 6a1ed2e263..c76eee4ee7 100644
--- a/src/plugins/platforms/cocoa/qprintengine_mac_p.h
+++ b/src/printsupport/platform/macos/qprintengine_mac_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <QtCore/qglobal.h>
+#include <QtPrintSupport/qtprintsupportglobal.h>
#ifndef QT_NO_PRINTER
@@ -60,7 +60,7 @@
#include <QtGui/private/qpainter_p.h>
#include <QtGui/qpagelayout.h>
-#include "qcocoaprintdevice.h"
+#include "qcocoaprintdevice_p.h"
#include "qpaintengine_mac_p.h"
@@ -93,6 +93,8 @@ public:
bool abort();
int metric(QPaintDevice::PaintDeviceMetric) const;
+ NSPrintInfo *printInfo();
+
//forwarded functions
void updateState(const QPaintEngineState &state);
diff --git a/src/printsupport/printsupport.pro b/src/printsupport/printsupport.pro
index 52e99803c3..e64fbb634c 100644
--- a/src/printsupport/printsupport.pro
+++ b/src/printsupport/printsupport.pro
@@ -11,6 +11,8 @@ include(kernel/kernel.pri)
include(widgets/widgets.pri)
include(dialogs/dialogs.pri)
+macos: include(platform/macos/macos.pri)
+
MODULE_PLUGIN_TYPES = \
printsupport
load(qt_module)