1TARGET = qcocoa
2
3SOURCES += main.mm \
4    qcocoaintegration.mm \
5    qcocoascreen.mm \
6    qcocoatheme.mm \
7    qcocoabackingstore.mm \
8    qcocoawindow.mm \
9    qcocoawindowmanager.mm \
10    qnsview.mm \
11    qnswindow.mm \
12    qnswindowdelegate.mm \
13    qcocoanativeinterface.mm \
14    qcocoaeventdispatcher.mm \
15    qcocoaapplicationdelegate.mm \
16    qcocoaapplication.mm \
17    qcocoansmenu.mm \
18    qcocoamenu.mm \
19    qcocoamenuitem.mm \
20    qcocoamenubar.mm \
21    qcocoamenuloader.mm \
22    qcocoahelpers.mm \
23    qmultitouch_mac.mm \
24    qcocoacursor.mm \
25    qcocoaclipboard.mm \
26    qcocoadrag.mm \
27    qmacclipboard.mm \
28    qcocoainputcontext.mm \
29    qcocoaservices.mm \
30    qcocoasystemtrayicon.mm \
31    qcocoaintrospection.mm \
32    qcocoakeymapper.mm \
33    qcocoamimetypes.mm \
34    qiosurfacegraphicsbuffer.mm
35
36HEADERS += qcocoaintegration.h \
37    qcocoascreen.h \
38    qcocoatheme.h \
39    qcocoabackingstore.h \
40    qcocoawindow.h \
41    qcocoawindowmanager.h \
42    qnsview.h \
43    qnswindow.h \
44    qnswindowdelegate.h \
45    qcocoanativeinterface.h \
46    qcocoaeventdispatcher.h \
47    qcocoaapplicationdelegate.h \
48    qcocoaapplication.h \
49    qcocoansmenu.h \
50    qcocoamenu.h \
51    qcocoamenuitem.h \
52    qcocoamenubar.h \
53    qcocoamenuloader.h \
54    qcocoahelpers.h \
55    qmultitouch_mac_p.h \
56    qcocoacursor.h \
57    qcocoaclipboard.h \
58    qcocoadrag.h \
59    qmacclipboard.h \
60    qcocoainputcontext.h \
61    qcocoaservices.h \
62    qcocoasystemtrayicon.h \
63    qcocoaintrospection.h \
64    qcocoakeymapper.h \
65    qiosurfacegraphicsbuffer.h \
66    qcocoamimetypes.h
67
68qtConfig(opengl.*) {
69    SOURCES += qcocoaglcontext.mm
70    HEADERS += qcocoaglcontext.h
71}
72
73qtConfig(vulkan) {
74    SOURCES += qcocoavulkaninstance.mm
75    HEADERS += qcocoavulkaninstance.h
76}
77
78qtConfig(accessibility) {
79    QT += accessibility_support-private
80    SOURCES += qcocoaaccessibilityelement.mm \
81        qcocoaaccessibility.mm
82    HEADERS += qcocoaaccessibilityelement.h \
83        qcocoaaccessibility.h
84}
85
86qtConfig(sessionmanager) {
87    SOURCES += qcocoasessionmanager.cpp
88    HEADERS += qcocoasessionmanager.h
89}
90
91RESOURCES += qcocoaresources.qrc
92
93LIBS += -framework AppKit -framework CoreServices -framework Carbon -framework IOKit -framework QuartzCore -framework CoreVideo -framework Metal -framework IOSurface -lcups
94
95DEFINES += QT_NO_FOREACH
96
97QT += \
98    core-private gui-private \
99    clipboard_support-private theme_support-private \
100    fontdatabase_support-private graphics_support-private
101
102qtConfig(vulkan): QT += vulkan_support-private
103
104CONFIG += no_app_extension_api_only
105
106qtHaveModule(widgets) {
107    QT_FOR_CONFIG += widgets
108
109    SOURCES += qpaintengine_mac.mm
110    HEADERS += qpaintengine_mac_p.h
111
112    qtHaveModule(printsupport) {
113        QT += printsupport-private
114        SOURCES += \
115            qprintengine_mac.mm \
116            qcocoaprintersupport.mm \
117            qcocoaprintdevice.mm
118        HEADERS += \
119            qcocoaprintersupport.h \
120            qcocoaprintdevice.h \
121            qprintengine_mac_p.h
122    }
123
124    qtConfig(colordialog) {
125        SOURCES += qcocoacolordialoghelper.mm
126        HEADERS += qcocoacolordialoghelper.h
127    }
128
129    qtConfig(filedialog) {
130        SOURCES += qcocoafiledialoghelper.mm
131        HEADERS += qcocoafiledialoghelper.h
132    }
133
134    qtConfig(fontdialog) {
135        SOURCES += qcocoafontdialoghelper.mm
136        HEADERS += qcocoafontdialoghelper.h
137    }
138
139    QT += widgets-private
140}
141
142OTHER_FILES += cocoa.json
143
144PLUGIN_TYPE = platforms
145PLUGIN_CLASS_NAME = QCocoaIntegrationPlugin
146!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = -
147load(qt_plugin)
148