69ff30c6f2c1389684fbad48f040a57ea6ece0f5
[WebKit-https.git] / Source / WebKit / PlatformMac.cmake
1 add_definitions("-ObjC++ -std=c++14")
2 find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices)
3 find_library(CARBON_LIBRARY Carbon)
4 find_library(QUARTZ_LIBRARY Quartz)
5 find_library(AVFOUNDATION_LIBRARY AVFoundation)
6 find_library(AVFAUDIO_LIBRARY AVFAudio HINTS ${AVFOUNDATION_LIBRARY}/Versions/*/Frameworks)
7 add_definitions(-iframework ${QUARTZ_LIBRARY}/Frameworks)
8 add_definitions(-iframework ${CARBON_LIBRARY}/Frameworks)
9 add_definitions(-iframework ${APPLICATIONSERVICES_LIBRARY}/Versions/Current/Frameworks)
10 add_definitions(-DWK_XPC_SERVICE_SUFFIX=".Development")
11
12 list(APPEND WebKit_LIBRARIES
13     PRIVATE WebKitLegacy
14     ${APPLICATIONSERVICES_LIBRARY}
15 )
16
17 if (NOT AVFAUDIO_LIBRARY-NOTFOUND)
18     list(APPEND WebKit_LIBRARIES ${AVFAUDIO_LIBRARY})
19 endif ()
20
21 list(APPEND WebKit_SOURCES
22     NetworkProcess/CustomProtocols/Cocoa/LegacyCustomProtocolManagerCocoa.mm
23
24     NetworkProcess/Downloads/PendingDownload.cpp
25
26     NetworkProcess/Downloads/cocoa/DownloadCocoa.mm
27
28     NetworkProcess/Downloads/mac/DownloadMac.mm
29
30     NetworkProcess/cache/NetworkCacheCodersCocoa.cpp
31     NetworkProcess/cache/NetworkCacheDataCocoa.mm
32     NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm
33
34     NetworkProcess/cocoa/NetworkDataTaskCocoa.mm
35     NetworkProcess/cocoa/NetworkProcessCocoa.mm
36     NetworkProcess/cocoa/NetworkSessionCocoa.mm
37
38     NetworkProcess/mac/NetworkLoadMac.mm
39     NetworkProcess/mac/NetworkProcessMac.mm
40     NetworkProcess/mac/RemoteNetworkingContext.mm
41
42     Platform/IPC/mac/ConnectionMac.mm
43     Platform/IPC/mac/MachMessage.cpp
44
45     Platform/cf/ModuleCF.cpp
46
47     Platform/cg/CGUtilities.cpp
48
49     Platform/cocoa/WKCrashReporter.mm
50
51     Platform/classifier/ResourceLoadStatisticsClassifier.cpp
52
53     Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp
54
55     Platform/foundation/LoggingFoundation.mm
56
57     Platform/cocoa/SharedMemoryCocoa.cpp
58
59     Platform/mac/LayerHostingContext.mm
60     Platform/mac/MachUtilities.cpp
61     Platform/mac/MenuUtilities.mm
62     Platform/mac/StringUtilities.mm
63
64     Platform/unix/EnvironmentUtilities.cpp
65
66     PluginProcess/mac/PluginControllerProxyMac.mm
67     PluginProcess/mac/PluginProcessMac.mm
68     PluginProcess/mac/PluginProcessShim.mm
69
70     Shared/APIWebArchive.mm
71     Shared/APIWebArchiveResource.mm
72
73     Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm
74
75     Shared/API/Cocoa/RemoteObjectInvocation.mm
76     Shared/API/Cocoa/RemoteObjectRegistry.mm
77     Shared/API/Cocoa/WKBrowsingContextHandle.mm
78     Shared/API/Cocoa/WKRemoteObject.mm
79     Shared/API/Cocoa/WKRemoteObjectCoder.mm
80     Shared/API/Cocoa/WebKit.m
81     Shared/API/Cocoa/_WKFrameHandle.mm
82     Shared/API/Cocoa/_WKHitTestResult.mm
83     Shared/API/Cocoa/_WKNSFileManagerExtras.mm
84     Shared/API/Cocoa/_WKRemoteObjectInterface.mm
85     Shared/API/Cocoa/_WKRemoteObjectRegistry.mm
86
87     Shared/API/c/cf/WKErrorCF.cpp
88     Shared/API/c/cf/WKStringCF.mm
89     Shared/API/c/cf/WKURLCF.mm
90
91     Shared/API/c/cg/WKImageCG.cpp
92
93     Shared/API/c/mac/WKCertificateInfoMac.mm
94     Shared/API/c/mac/WKObjCTypeWrapperRef.mm
95     Shared/API/c/mac/WKURLRequestNS.mm
96     Shared/API/c/mac/WKURLResponseNS.mm
97     Shared/API/c/mac/WKWebArchive.cpp
98     Shared/API/c/mac/WKWebArchiveResource.cpp
99
100     Shared/Authentication/mac/AuthenticationManager.mac.mm
101
102     Shared/Cocoa/APIDataCocoa.mm
103     Shared/Cocoa/APIObject.mm
104     Shared/Cocoa/ChildProcessCocoa.mm
105     Shared/Cocoa/CompletionHandlerCallChecker.mm
106     Shared/Cocoa/DataDetectionResult.mm
107     Shared/Cocoa/LoadParametersCocoa.mm
108     Shared/Cocoa/WKNSArray.mm
109     Shared/Cocoa/WKNSData.mm
110     Shared/Cocoa/WKNSDictionary.mm
111     Shared/Cocoa/WKNSError.mm
112     Shared/Cocoa/WKNSNumber.mm
113     Shared/Cocoa/WKNSString.mm
114     Shared/Cocoa/WKNSURL.mm
115     Shared/Cocoa/WKNSURLExtras.mm
116     Shared/Cocoa/WKNSURLRequest.mm
117     Shared/Cocoa/WKObject.mm
118     Shared/Cocoa/WebErrorsCocoa.mm
119     Shared/Cocoa/WebKit2InitializeCocoa.mm
120
121     Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm
122     Shared/Plugins/Netscape/mac/PluginInformationMac.mm
123
124     Shared/Plugins/mac/PluginSandboxProfile.mm
125
126     Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
127     Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm
128     Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm
129     Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm
130     Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
131
132     Shared/cf/ArgumentCodersCF.cpp
133     Shared/cf/CookieStorageUtilsCF.mm
134
135     Shared/cg/ShareableBitmapCG.cpp
136
137     Shared/mac/ArgumentCodersMac.mm
138     Shared/mac/AttributedString.mm
139     Shared/mac/ChildProcessMac.mm
140     Shared/mac/CodeSigning.mm
141     Shared/mac/ColorSpaceData.mm
142     Shared/mac/CookieStorageShim.mm
143     Shared/mac/CookieStorageShimLibrary.cpp
144     Shared/mac/HangDetectionDisablerMac.mm
145     Shared/mac/NativeWebGestureEventMac.mm
146     Shared/mac/NativeWebKeyboardEventMac.mm
147     Shared/mac/NativeWebMouseEventMac.mm
148     Shared/mac/NativeWebWheelEventMac.mm
149     Shared/mac/ObjCObjectGraph.mm
150     Shared/mac/PDFKitImports.mm
151     Shared/mac/PasteboardTypes.mm
152     Shared/mac/PrintInfoMac.mm
153     Shared/mac/SandboxExtensionMac.mm
154     Shared/mac/SandboxInitialiationParametersMac.mm
155     Shared/mac/SandboxUtilities.mm
156     Shared/mac/SecItemRequestData.cpp
157     Shared/mac/SecItemResponseData.cpp
158     Shared/mac/SecItemShim.cpp
159     Shared/mac/WebCoreArgumentCodersMac.mm
160     Shared/mac/WebEventFactory.mm
161     Shared/mac/WebGestureEvent.cpp
162     Shared/mac/WebHitTestResultData.mm
163     Shared/mac/WebMemorySampler.mac.mm
164
165     StorageProcess/mac/StorageProcessMac.mm
166
167     UIProcess/HighPerformanceGraphicsUsageSampler.cpp
168     UIProcess/PerActivityStateCPUUsageSampler.cpp
169     UIProcess/WebContextMenuListenerProxy.cpp
170     UIProcess/WebResourceLoadStatisticsStore.cpp
171     UIProcess/WebResourceLoadStatisticsTelemetry.cpp
172
173     UIProcess/Automation/WebAutomationSession.cpp
174
175     UIProcess/Automation/cocoa/WebAutomationSessionCocoa.mm
176
177     UIProcess/Automation/mac/WebAutomationSessionMac.mm
178
179     UIProcess/API/APIUserScript.cpp
180     UIProcess/API/APIUserStyleSheet.cpp
181     UIProcess/API/APIWebsiteDataRecord.cpp
182
183     UIProcess/API/C/mac/WKContextPrivateMac.mm
184     UIProcess/API/C/mac/WKPagePrivateMac.mm
185
186     UIProcess/API/Cocoa/APIContentRuleListStoreCocoa.mm
187     UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm
188     UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm
189     UIProcess/API/Cocoa/LegacyBundleForClass.mm
190     UIProcess/API/Cocoa/WKBackForwardList.mm
191     UIProcess/API/Cocoa/WKBackForwardListItem.mm
192     UIProcess/API/Cocoa/WKBrowsingContextController.mm
193     UIProcess/API/Cocoa/WKBrowsingContextGroup.mm
194     UIProcess/API/Cocoa/WKConnection.mm
195     UIProcess/API/Cocoa/WKContentRuleList.mm
196     UIProcess/API/Cocoa/WKContentRuleListStore.mm
197     UIProcess/API/Cocoa/WKError.mm
198     UIProcess/API/Cocoa/WKFrameInfo.mm
199     UIProcess/API/Cocoa/WKHTTPCookieStore.mm
200     UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm
201     UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm
202     UIProcess/API/Cocoa/WKNavigation.mm
203     UIProcess/API/Cocoa/WKNavigationAction.mm
204     UIProcess/API/Cocoa/WKNavigationData.mm
205     UIProcess/API/Cocoa/WKNavigationResponse.mm
206     UIProcess/API/Cocoa/WKOpenPanelParameters.mm
207     UIProcess/API/Cocoa/WKPreferences.mm
208     UIProcess/API/Cocoa/WKPreviewActionItem.mm
209     UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.mm
210     UIProcess/API/Cocoa/WKPreviewElementInfo.mm
211     UIProcess/API/Cocoa/WKProcessGroup.mm
212     UIProcess/API/Cocoa/WKProcessPool.mm
213     UIProcess/API/Cocoa/WKScriptMessage.mm
214     UIProcess/API/Cocoa/WKSecurityOrigin.mm
215     UIProcess/API/Cocoa/WKTypeRefWrapper.mm
216     UIProcess/API/Cocoa/WKURLSchemeTask.mm
217     UIProcess/API/Cocoa/WKUserContentController.mm
218     UIProcess/API/Cocoa/WKUserScript.mm
219     UIProcess/API/Cocoa/WKWebView.mm
220     UIProcess/API/Cocoa/WKWebViewConfiguration.mm
221     UIProcess/API/Cocoa/WKWebsiteDataRecord.mm
222     UIProcess/API/Cocoa/WKWebsiteDataStore.mm
223     UIProcess/API/Cocoa/WKWindowFeatures.mm
224     UIProcess/API/Cocoa/_WKActivatedElementInfo.mm
225     UIProcess/API/Cocoa/_WKAutomationSession.mm
226     UIProcess/API/Cocoa/_WKAutomationSessionConfiguration.mm
227     UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm
228     UIProcess/API/Cocoa/_WKDownload.mm
229     UIProcess/API/Cocoa/_WKElementAction.mm
230     UIProcess/API/Cocoa/_WKErrorRecoveryAttempting.mm
231     UIProcess/API/Cocoa/_WKExperimentalFeature.mm
232     UIProcess/API/Cocoa/_WKLinkIconParameters.mm
233     UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm
234     UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm
235     UIProcess/API/Cocoa/_WKSessionState.mm
236     UIProcess/API/Cocoa/_WKThumbnailView.mm
237     UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm
238     UIProcess/API/Cocoa/_WKUserContentFilter.mm
239     UIProcess/API/Cocoa/_WKUserContentWorld.mm
240     UIProcess/API/Cocoa/_WKUserInitiatedAction.mm
241     UIProcess/API/Cocoa/_WKUserStyleSheet.mm
242     UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm
243     UIProcess/API/Cocoa/_WKVisitedLinkStore.mm
244     UIProcess/API/Cocoa/_WKWebsiteDataSize.mm
245     UIProcess/API/Cocoa/_WKWebsiteDataStore.mm
246     UIProcess/API/Cocoa/_WKWebsitePolicies.mm
247
248     UIProcess/API/mac/WKView.mm
249
250     UIProcess/Cocoa/AutomationClient.mm
251     UIProcess/Cocoa/AutomationSessionClient.mm
252     UIProcess/Cocoa/DiagnosticLoggingClient.mm
253     UIProcess/Cocoa/DownloadClient.mm
254     UIProcess/Cocoa/FindClient.mm
255     UIProcess/Cocoa/FullscreenClient.mm
256     UIProcess/Cocoa/IconLoadingDelegate.mm
257     UIProcess/Cocoa/LegacyCustomProtocolManagerClient.mm
258     UIProcess/Cocoa/NavigationState.mm
259     UIProcess/Cocoa/PageClientImplCocoa.mm
260     UIProcess/Cocoa/SessionStateCoding.mm
261     UIProcess/Cocoa/UIDelegate.mm
262     UIProcess/Cocoa/VersionChecks.mm
263     UIProcess/Cocoa/ViewGestureController.cpp
264     UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm
265     UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm
266     UIProcess/Cocoa/WebPageProxyCocoa.mm
267     UIProcess/Cocoa/WebPasteboardProxyCocoa.mm
268     UIProcess/Cocoa/WebProcessPoolCocoa.mm
269     UIProcess/Cocoa/WebProcessProxyCocoa.mm
270     UIProcess/Cocoa/WebResourceLoadStatisticsStoreCocoa.mm
271     UIProcess/Cocoa/WebURLSchemeHandlerCocoa.mm
272     UIProcess/Cocoa/WebViewImpl.mm
273
274     UIProcess/Launcher/mac/ProcessLauncherMac.mm
275
276     UIProcess/Network/mac/NetworkProcessProxyMac.mm
277
278     UIProcess/Plugins/mac/PluginInfoStoreMac.mm
279     UIProcess/Plugins/mac/PluginProcessManagerMac.mm
280     UIProcess/Plugins/mac/PluginProcessProxyMac.mm
281
282     UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm
283     UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
284     UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp
285     UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
286     UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm
287
288     UIProcess/WebStorage/StorageManager.cpp
289
290     UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm
291
292     UIProcess/mac/CorrectionPanel.mm
293     UIProcess/mac/LegacySessionStateCoding.cpp
294     UIProcess/mac/PageClientImplMac.mm
295     UIProcess/mac/RemoteWebInspectorProxyMac.mm
296     UIProcess/mac/SecItemShimProxy.cpp
297     UIProcess/mac/ServicesController.mm
298     UIProcess/mac/TextCheckerMac.mm
299     UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm
300     UIProcess/mac/ViewGestureControllerMac.mm
301     UIProcess/mac/ViewSnapshotStore.mm
302     UIProcess/mac/WKFullKeyboardAccessWatcher.mm
303     UIProcess/mac/WKFullScreenWindowController.mm
304     UIProcess/mac/WKImmediateActionController.mm
305     UIProcess/mac/WKPrintingView.mm
306     UIProcess/mac/WKSharingServicePickerDelegate.mm
307     UIProcess/mac/WKTextFinderClient.mm
308     UIProcess/mac/WKTextInputWindowController.mm
309     UIProcess/mac/WKViewLayoutStrategy.mm
310     UIProcess/mac/WKWebInspectorWKWebView.mm
311     UIProcess/mac/WebColorPickerMac.mm
312     UIProcess/mac/WebContextMenuProxyMac.mm
313     UIProcess/mac/WebCookieManagerProxyMac.mm
314     UIProcess/mac/WebInspectorProxyMac.mm
315     UIProcess/mac/WebPageProxyMac.mm
316     UIProcess/mac/WebPopupMenuProxyMac.mm
317     UIProcess/mac/WebPreferencesMac.mm
318     UIProcess/mac/WebProcessProxyMac.mm
319     UIProcess/mac/WindowServerConnection.mm
320
321     WebProcess/Cookies/mac/WebCookieManagerMac.mm
322
323     WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm
324     WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm
325     WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm
326     WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm
327     WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm
328     WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm
329     WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm
330
331     WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm
332     WebProcess/InjectedBundle/API/mac/WKDOMElement.mm
333     WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm
334     WebProcess/InjectedBundle/API/mac/WKDOMNode.mm
335     WebProcess/InjectedBundle/API/mac/WKDOMRange.mm
336     WebProcess/InjectedBundle/API/mac/WKDOMText.mm
337     WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm
338     WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm
339     WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm
340
341     WebProcess/InjectedBundle/mac/InjectedBundleMac.mm
342
343     WebProcess/MediaCache/WebMediaKeyStorageManager.cpp
344
345     WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
346     WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm
347
348     WebProcess/Plugins/PDF/PDFPlugin.mm
349     WebProcess/Plugins/PDF/PDFPluginAnnotation.mm
350     WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm
351     WebProcess/Plugins/PDF/PDFPluginPasswordField.mm
352     WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm
353
354     WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.cpp
355     WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm
356     WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp
357     WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm
358     WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.cpp
359     WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm
360     WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm
361     WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm
362     WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm
363
364     WebProcess/WebCoreSupport/WebPasteboardOverrides.cpp
365     WebProcess/WebCoreSupport/WebValidationMessageClient.cpp
366
367     WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp
368     WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm
369     WebProcess/WebCoreSupport/mac/WebDragClientMac.mm
370     WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm
371     WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm
372     WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm
373     WebProcess/WebCoreSupport/mac/WebSystemInterface.mm
374
375     WebProcess/WebPage/ViewGestureGeometryCollector.cpp
376
377     WebProcess/WebPage/Cocoa/WebPageCocoa.mm
378
379     WebProcess/WebPage/mac/PageBannerMac.mm
380     WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm
381     WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm
382     WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm
383     WebProcess/WebPage/mac/WebInspectorUIMac.mm
384     WebProcess/WebPage/mac/WebPageMac.mm
385
386     WebProcess/cocoa/WebProcessCocoa.mm
387
388     WebProcess/mac/SecItemShimLibrary.mm
389 )
390
391 list(APPEND WebKit_INCLUDE_DIRECTORIES
392     "${PAL_DIR}"
393     "${WEBKIT_DIR}/NetworkProcess/cocoa"
394     "${WEBKIT_DIR}/NetworkProcess/mac"
395     "${WEBKIT_DIR}/PluginProcess/mac"
396     "${WEBKIT_DIR}/UIProcess/mac"
397     "${WEBKIT_DIR}/UIProcess/API/C/mac"
398     "${WEBKIT_DIR}/UIProcess/API/Cocoa"
399     "${WEBKIT_DIR}/UIProcess/API/mac"
400     "${WEBKIT_DIR}/UIProcess/Cocoa"
401     "${WEBKIT_DIR}/UIProcess/Launcher/mac"
402     "${WEBKIT_DIR}/UIProcess/RemoteLayerTree"
403     "${WEBKIT_DIR}/UIProcess/RemoteLayerTree/ios"
404     "${WEBKIT_DIR}/UIProcess/ios"
405     "${WEBKIT_DIR}/Platform/cg"
406     "${WEBKIT_DIR}/Platform/classifier"
407     "${WEBKIT_DIR}/Platform/classifier/cocoa"
408     "${WEBKIT_DIR}/Platform/cocoa"
409     "${WEBKIT_DIR}/Platform/mac"
410     "${WEBKIT_DIR}/Platform/unix"
411     "${WEBKIT_DIR}/Platform/spi/Cocoa"
412     "${WEBKIT_DIR}/Platform/spi/mac"
413     "${WEBKIT_DIR}/Platform/IPC/mac"
414     "${WEBKIT_DIR}/Platform/spi/Cocoa"
415     "${WEBKIT_DIR}/Shared/API/Cocoa"
416     "${WEBKIT_DIR}/Shared/API/c/cf"
417     "${WEBKIT_DIR}/Shared/API/c/cg"
418     "${WEBKIT_DIR}/Shared/API/c/mac"
419     "${WEBKIT_DIR}/Shared/cf"
420     "${WEBKIT_DIR}/Shared/Cocoa"
421     "${WEBKIT_DIR}/Shared/EntryPointUtilities/mac/XPCService"
422     "${WEBKIT_DIR}/Shared/mac"
423     "${WEBKIT_DIR}/Shared/Plugins/mac"
424     "${WEBKIT_DIR}/Shared/Scrolling"
425     "${WEBKIT_DIR}/WebProcess/cocoa"
426     "${WEBKIT_DIR}/WebProcess/mac"
427     "${WEBKIT_DIR}/WebProcess/InjectedBundle/API/Cocoa"
428     "${WEBKIT_DIR}/WebProcess/InjectedBundle/API/mac"
429     "${WEBKIT_DIR}/WebProcess/Plugins/PDF"
430     "${WEBKIT_DIR}/WebProcess/Plugins/Netscape/mac"
431     "${WEBKIT_DIR}/WebProcess/WebPage/Cocoa"
432     "${WEBKIT_DIR}/WebProcess/WebPage/RemoteLayerTree"
433     "${WEBKIT_DIR}/WebProcess/WebPage/mac"
434     "${WEBKIT_DIR}/WebProcess/WebCoreSupport/mac"
435     "${FORWARDING_HEADERS_DIR}/WebCore"
436     "${DERIVED_SOURCES_WEBCORE_DIR}"
437 )
438
439 set(XPCService_SOURCES
440     Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm
441     Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm
442 )
443
444 set(WebProcess_SOURCES
445     WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm
446     ${XPCService_SOURCES}
447 )
448
449 set(PluginProcess_SOURCES
450     PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm
451     ${XPCService_SOURCES}
452 )
453
454 list(APPEND NetworkProcess_SOURCES
455     NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm
456     ${XPCService_SOURCES}
457 )
458
459 list(APPEND StorageProcess_SOURCES
460     DatabaseProcess/EntryPoint/mac/XPCService/StorageServiceEntryPoint.mm
461     ${XPCService_SOURCES}
462 )
463
464 # FIXME: These should not have Development in production builds.
465 set(WebKit_WebProcess_OUTPUT_NAME com.apple.WebKit.WebContent.Development)
466 set(WebKit_NetworkProcess_OUTPUT_NAME com.apple.WebKit.Networking.Development)
467
468 add_definitions("-include WebKit2Prefix.h")
469
470 set(WebKit_FORWARDING_HEADERS_FILES
471     Platform/cocoa/WKCrashReporter.h
472
473     Shared/API/c/WKDiagnosticLoggingResultType.h
474
475     UIProcess/API/C/WKPageDiagnosticLoggingClient.h
476     UIProcess/API/C/WKPageNavigationClient.h
477     UIProcess/API/C/WKPageRenderingProgressEvents.h
478 )
479
480 list(APPEND WebKit_MESSAGES_IN_FILES
481     Shared/API/Cocoa/RemoteObjectRegistry.messages.in
482
483     UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in
484     UIProcess/Cocoa/ViewGestureController.messages.in
485
486     UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in
487
488     UIProcess/mac/SecItemShimProxy.messages.in
489
490     WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in
491     WebProcess/WebPage/ViewGestureGeometryCollector.messages.in
492 )
493
494 set(WebKit_FORWARDING_HEADERS_DIRECTORIES
495     Platform
496     Shared
497
498     NetworkProcess/Downloads
499
500     Platform/IPC
501
502     Shared/API
503     Shared/Cocoa
504
505     Shared/API/Cocoa
506     Shared/API/c
507
508     Shared/API/c/cf
509     Shared/API/c/mac
510
511     UIProcess/Cocoa
512
513     UIProcess/API/C
514
515     UIProcess/API/C/Cocoa
516     UIProcess/API/C/mac
517     UIProcess/API/cpp
518
519     WebProcess/WebPage
520
521     WebProcess/InjectedBundle/API/Cocoa
522     WebProcess/InjectedBundle/API/c
523     WebProcess/InjectedBundle/API/mac
524 )
525
526 WEBKIT_CREATE_FORWARDING_HEADERS(WebKit FILES ${WebKit_FORWARDING_HEADERS_FILES} DIRECTORIES ${WebKit_FORWARDING_HEADERS_DIRECTORIES})
527
528 # This is needed right now to import ObjC headers instead of including them.
529 # FIXME: Forwarding headers should be copies of actual headers.
530 file(GLOB ObjCHeaders UIProcess/API/Cocoa/*.h)
531 foreach (_file ${ObjCHeaders})
532     get_filename_component(_name ${_file} NAME)
533     if (NOT EXISTS ${FORWARDING_HEADERS_DIR}/WebKit/${_name})
534         file(WRITE ${FORWARDING_HEADERS_DIR}/WebKit/${_name} "#import <WebKit/UIProcess/API/Cocoa/${_name}>")
535     endif ()
536 endforeach ()
537
538 # FIXME: Forwarding headers should be complete copies of the header.
539 set(WebKitLegacyForwardingHeaders
540     DOM.h
541     DOMCore.h
542     DOMElement.h
543     DOMException.h
544     DOMObject.h
545     DOMPrivate.h
546     WebApplicationCache.h
547     WebCache.h
548     WebCoreStatistics.h
549     WebDOMOperations.h
550     WebDOMOperationsPrivate.h
551     WebDatabaseManagerPrivate.h
552     WebDataSource.h
553     WebDataSourcePrivate.h
554     WebDefaultPolicyDelegate.h
555     WebDeviceOrientation.h
556     WebDeviceOrientationProviderMock.h
557     WebDocument.h
558     WebDocumentPrivate.h
559     WebDynamicScrollBarsView.h
560     WebEditingDelegate.h
561     WebFrame.h
562     WebFramePrivate.h
563     WebFrameViewPrivate.h
564     WebGeolocationPosition.h
565     WebHTMLRepresentation.h
566     WebHTMLView.h
567     WebHTMLViewPrivate.h
568     WebHistory.h
569     WebHistoryItem.h
570     WebHistoryItemPrivate.h
571     WebHistoryPrivate.h
572     WebIconDatabasePrivate.h
573     WebInspectorPrivate.h
574     WebKitNSStringExtras.h
575     WebNSURLExtras.h
576     WebNavigationData.h
577     WebNotification.h
578     WebPluginDatabase.h
579     WebPolicyDelegate.h
580     WebPolicyDelegatePrivate.h
581     WebPreferenceKeysPrivate.h
582     WebPreferences.h
583     WebPreferencesPrivate.h
584     WebQuotaManager.h
585     WebScriptWorld.h
586     WebSecurityOriginPrivate.h
587     WebStorageManagerPrivate.h
588     WebTypesInternal.h
589     WebUIDelegate.h
590     WebUIDelegatePrivate.h
591     WebView.h
592     WebViewPrivate
593     WebViewPrivate.h
594 )
595 foreach (_file ${WebKitLegacyForwardingHeaders})
596     file(WRITE ${FORWARDING_HEADERS_DIR}/WebKit/${_file} "#import <WebKitLegacy/${_file}>")
597 endforeach ()
598
599 set(ObjCForwardingHeaders
600     DOMAbstractView.h
601     DOMAttr.h
602     DOMBeforeLoadEvent.h
603     DOMBlob.h
604     DOMCDATASection.h
605     DOMCSSCharsetRule.h
606     DOMCSSFontFaceRule.h
607     DOMCSSImportRule.h
608     DOMCSSKeyframeRule.h
609     DOMCSSKeyframesRule.h
610     DOMCSSMediaRule.h
611     DOMCSSPageRule.h
612     DOMCSSPrimitiveValue.h
613     DOMCSSRule.h
614     DOMCSSRuleList.h
615     DOMCSSStyleDeclaration.h
616     DOMCSSStyleRule.h
617     DOMCSSStyleSheet.h
618     DOMCSSSupportsRule.h
619     DOMCSSUnknownRule.h
620     DOMCSSValue.h
621     DOMCSSValueList.h
622     DOMCharacterData.h
623     DOMComment.h
624     DOMCounter.h
625     DOMDOMImplementation.h
626     DOMDOMNamedFlowCollection.h
627     DOMDOMTokenList.h
628     DOMDocument.h
629     DOMDocumentFragment.h
630     DOMDocumentType.h
631     DOMElement.h
632     DOMEntity.h
633     DOMEntityReference.h
634     DOMEvent.h
635     DOMEventException.h
636     DOMEventListener.h
637     DOMEventTarget.h
638     DOMFile.h
639     DOMFileList.h
640     DOMHTMLAnchorElement.h
641     DOMHTMLAppletElement.h
642     DOMHTMLAreaElement.h
643     DOMHTMLBRElement.h
644     DOMHTMLBaseElement.h
645     DOMHTMLBaseFontElement.h
646     DOMHTMLBodyElement.h
647     DOMHTMLButtonElement.h
648     DOMHTMLCanvasElement.h
649     DOMHTMLCollection.h
650     DOMHTMLDListElement.h
651     DOMHTMLDirectoryElement.h
652     DOMHTMLDivElement.h
653     DOMHTMLDocument.h
654     DOMHTMLElement.h
655     DOMHTMLEmbedElement.h
656     DOMHTMLFieldSetElement.h
657     DOMHTMLFontElement.h
658     DOMHTMLFormElement.h
659     DOMHTMLFrameElement.h
660     DOMHTMLFrameSetElement.h
661     DOMHTMLHRElement.h
662     DOMHTMLHeadElement.h
663     DOMHTMLHeadingElement.h
664     DOMHTMLHtmlElement.h
665     DOMHTMLIFrameElement.h
666     DOMHTMLImageElement.h
667     DOMHTMLInputElement.h
668     DOMHTMLInputElementPrivate.h
669     DOMHTMLLIElement.h
670     DOMHTMLLabelElement.h
671     DOMHTMLLegendElement.h
672     DOMHTMLLinkElement.h
673     DOMHTMLMapElement.h
674     DOMHTMLMarqueeElement.h
675     DOMHTMLMediaElement.h
676     DOMHTMLMenuElement.h
677     DOMHTMLMetaElement.h
678     DOMHTMLModElement.h
679     DOMHTMLOListElement.h
680     DOMHTMLObjectElement.h
681     DOMHTMLOptGroupElement.h
682     DOMHTMLOptionElement.h
683     DOMHTMLOptionsCollection.h
684     DOMHTMLParagraphElement.h
685     DOMHTMLParamElement.h
686     DOMHTMLPreElement.h
687     DOMHTMLQuoteElement.h
688     DOMHTMLScriptElement.h
689     DOMHTMLSelectElement.h
690     DOMHTMLStyleElement.h
691     DOMHTMLTableCaptionElement.h
692     DOMHTMLTableCellElement.h
693     DOMHTMLTableColElement.h
694     DOMHTMLTableElement.h
695     DOMHTMLTableRowElement.h
696     DOMHTMLTableSectionElement.h
697     DOMHTMLTextAreaElement.h
698     DOMHTMLTitleElement.h
699     DOMHTMLUListElement.h
700     DOMHTMLVideoElement.h
701     DOMImplementation.h
702     DOMKeyboardEvent.h
703     DOMMediaError.h
704     DOMMediaList.h
705     DOMMessageEvent.h
706     DOMMessagePort.h
707     DOMMouseEvent.h
708     DOMMutationEvent.h
709     DOMNamedNodeMap.h
710     DOMNode.h
711     DOMNodeFilter.h
712     DOMNodeIterator.h
713     DOMNodeList.h
714     DOMOverflowEvent.h
715     DOMProcessingInstruction.h
716     DOMProgressEvent.h
717     DOMRGBColor.h
718     DOMRange.h
719     DOMRangeException.h
720     DOMRect.h
721     DOMStyleSheet.h
722     DOMStyleSheetList.h
723     DOMText.h
724     DOMTextEvent.h
725     DOMTimeRanges.h
726     DOMTreeWalker.h
727     DOMUIEvent.h
728     DOMValidityState.h
729     DOMWebKitCSSFilterValue.h
730     DOMWebKitCSSRegionRule.h
731     DOMWebKitCSSTransformValue.h
732     DOMWebKitNamedFlow.h
733     DOMWheelEvent.h
734     DOMXPathException.h
735     DOMXPathExpression.h
736     DOMXPathNSResolver.h
737     DOMXPathResult.h
738 )
739 foreach (_file ${ObjCForwardingHeaders})
740     file(WRITE ${FORWARDING_HEADERS_DIR}/WebKit/${_file} "#import <WebKitLegacy/${_file}>")
741 endforeach ()
742
743 list(APPEND WebKit_AUTOMATION_PROTOCOL_GENERATOR_EXTRA_FLAGS
744     --platform=macOS
745 )
746
747 # FIXME: These should not be necessary.
748 file(WRITE ${FORWARDING_HEADERS_DIR}/WebKit/WKImageCG.h "#import <WebKit/Shared/API/c/cg/WKImageCG.h>")
749
750 set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-compatibility_version 1 -current_version ${WEBKIT_MAC_VERSION}")
751
752 set(WebKit_OUTPUT_NAME WebKit)