Make it possible to test non-stable-state scrolling on iOS
[WebKit-https.git] / Source / WebKit2 / CMakeLists.txt
1 set_property(DIRECTORY . PROPERTY FOLDER "WebKit2")
2
3 set(WebKit2_INCLUDE_DIRECTORIES
4     "${JAVASCRIPTCORE_DIR}/llint"
5     "${WEBKIT2_DIR}"
6     "${WEBKIT2_DIR}/DatabaseProcess"
7     "${WEBKIT2_DIR}/DatabaseProcess/IndexedDB"
8     "${WEBKIT2_DIR}/NetworkProcess"
9     "${WEBKIT2_DIR}/NetworkProcess/CustomProtocols"
10     "${WEBKIT2_DIR}/NetworkProcess/Downloads"
11     "${WEBKIT2_DIR}/NetworkProcess/FileAPI"
12     "${WEBKIT2_DIR}/NetworkProcess/cache"
13     "${WEBKIT2_DIR}/Platform"
14     "${WEBKIT2_DIR}/Platform/IPC"
15     "${WEBKIT2_DIR}/PluginProcess"
16     "${WEBKIT2_DIR}/Shared"
17     "${WEBKIT2_DIR}/Shared/API"
18     "${WEBKIT2_DIR}/Shared/API/c"
19     "${WEBKIT2_DIR}/Shared/Authentication"
20     "${WEBKIT2_DIR}/Shared/CoreIPCSupport"
21     "${WEBKIT2_DIR}/Shared/Databases"
22     "${WEBKIT2_DIR}/Shared/Databases/IndexedDB"
23     "${WEBKIT2_DIR}/Shared/FileAPI"
24     "${WEBKIT2_DIR}/Shared/Gamepad"
25     "${WEBKIT2_DIR}/Shared/Plugins"
26     "${WEBKIT2_DIR}/Shared/Plugins/Netscape"
27     "${WEBKIT2_DIR}/Shared/Plugins/Netscape/x11"
28     "${WEBKIT2_DIR}/Shared/WebsiteData"
29     "${WEBKIT2_DIR}/UIProcess"
30     "${WEBKIT2_DIR}/UIProcess/API"
31     "${WEBKIT2_DIR}/UIProcess/API/C"
32     "${WEBKIT2_DIR}/UIProcess/API/cpp"
33     "${WEBKIT2_DIR}/UIProcess/ApplePay"
34     "${WEBKIT2_DIR}/UIProcess/Authentication"
35     "${WEBKIT2_DIR}/UIProcess/Automation"
36     "${WEBKIT2_DIR}/UIProcess/Databases"
37     "${WEBKIT2_DIR}/UIProcess/Downloads"
38     "${WEBKIT2_DIR}/UIProcess/Gamepad"
39     "${WEBKIT2_DIR}/UIProcess/InspectorServer"
40     "${WEBKIT2_DIR}/UIProcess/Launcher"
41     "${WEBKIT2_DIR}/UIProcess/Network"
42     "${WEBKIT2_DIR}/UIProcess/Network/CustomProtocols"
43     "${WEBKIT2_DIR}/UIProcess/Notifications"
44     "${WEBKIT2_DIR}/UIProcess/Plugins"
45     "${WEBKIT2_DIR}/UIProcess/Storage"
46     "${WEBKIT2_DIR}/UIProcess/UserContent"
47     "${WEBKIT2_DIR}/UIProcess/WebsiteData"
48     "${WEBKIT2_DIR}/WebProcess"
49     "${WEBKIT2_DIR}/WebProcess/ApplePay"
50     "${WEBKIT2_DIR}/WebProcess/ApplicationCache"
51     "${WEBKIT2_DIR}/WebProcess/Automation"
52     "${WEBKIT2_DIR}/WebProcess/Cookies"
53     "${WEBKIT2_DIR}/WebProcess/Databases"
54     "${WEBKIT2_DIR}/WebProcess/Databases/IndexedDB"
55     "${WEBKIT2_DIR}/WebProcess/FileAPI"
56     "${WEBKIT2_DIR}/WebProcess/FullScreen"
57     "${WEBKIT2_DIR}/WebProcess/Gamepad"
58     "${WEBKIT2_DIR}/WebProcess/Geolocation"
59     "${WEBKIT2_DIR}/WebProcess/IconDatabase"
60     "${WEBKIT2_DIR}/WebProcess/InjectedBundle"
61     "${WEBKIT2_DIR}/WebProcess/InjectedBundle/API"
62     "${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/c"
63     "${WEBKIT2_DIR}/WebProcess/InjectedBundle/DOM"
64     "${WEBKIT2_DIR}/WebProcess/Launching"
65     "${WEBKIT2_DIR}/WebProcess/MediaCache"
66     "${WEBKIT2_DIR}/WebProcess/MediaStream"
67     "${WEBKIT2_DIR}/WebProcess/Network"
68     "${WEBKIT2_DIR}/WebProcess/Notifications"
69     "${WEBKIT2_DIR}/WebProcess/OriginData"
70     "${WEBKIT2_DIR}/WebProcess/Plugins"
71     "${WEBKIT2_DIR}/WebProcess/Plugins/Netscape"
72     "${WEBKIT2_DIR}/WebProcess/ResourceCache"
73     "${WEBKIT2_DIR}/WebProcess/Storage"
74     "${WEBKIT2_DIR}/WebProcess/UserContent"
75     "${WEBKIT2_DIR}/WebProcess/WebCoreSupport"
76     "${WEBKIT2_DIR}/WebProcess/WebPage"
77     "${WEBCORE_DIR}"
78     "${WEBCORE_DIR}/Modules/indexeddb"
79     "${WEBCORE_DIR}/Modules/indexeddb/client"
80     "${WEBCORE_DIR}/Modules/indexeddb/server"
81     "${WEBCORE_DIR}/Modules/indexeddb/shared"
82     "${WEBCORE_DIR}/Modules/mediastream"
83     "${WEBCORE_DIR}/Modules/networkinfo"
84     "${WEBCORE_DIR}/Modules/notifications"
85     "${WEBCORE_DIR}/Modules/streams"
86     "${WEBCORE_DIR}/Modules/vibration"
87     "${WEBCORE_DIR}/Modules/webdatabase"
88     "${WEBCORE_DIR}/accessibility"
89     "${WEBCORE_DIR}/bindings/generic"
90     "${WEBCORE_DIR}/bindings/js"
91     "${WEBCORE_DIR}/bindings"
92     "${WEBCORE_DIR}/bridge"
93     "${WEBCORE_DIR}/bridge/jsc"
94     "${WEBCORE_DIR}/contentextensions"
95     "${WEBCORE_DIR}/css"
96     "${WEBCORE_DIR}/css/parser"
97     "${WEBCORE_DIR}/dom"
98     "${WEBCORE_DIR}/dom/default"
99     "${WEBCORE_DIR}/editing"
100     "${WEBCORE_DIR}/fileapi"
101     "${WEBCORE_DIR}/history"
102     "${WEBCORE_DIR}/html"
103     "${WEBCORE_DIR}/html/shadow"
104     "${WEBCORE_DIR}/html/track"
105     "${WEBCORE_DIR}/inspector"
106     "${WEBCORE_DIR}/loader"
107     "${WEBCORE_DIR}/loader/archive"
108     "${WEBCORE_DIR}/loader/icon"
109     "${WEBCORE_DIR}/loader/cache"
110     "${WEBCORE_DIR}/page"
111     "${WEBCORE_DIR}/page/animation"
112     "${WEBCORE_DIR}/page/csp"
113     "${WEBCORE_DIR}/page/scrolling"
114     "${WEBCORE_DIR}/platform"
115     "${WEBCORE_DIR}/platform/animation"
116     "${WEBCORE_DIR}/platform/audio"
117     "${WEBCORE_DIR}/platform/gamepad"
118     "${WEBCORE_DIR}/platform/graphics"
119     "${WEBCORE_DIR}/platform/graphics/filters"
120     "${WEBCORE_DIR}/platform/graphics/harfbuzz"
121     "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
122     "${WEBCORE_DIR}/platform/graphics/surfaces"
123     "${WEBCORE_DIR}/platform/graphics/texmap"
124     "${WEBCORE_DIR}/platform/graphics/transforms"
125     "${WEBCORE_DIR}/platform/mediastream"
126     "${WEBCORE_DIR}/platform/network"
127     "${WEBCORE_DIR}/platform/spi/cf"
128     "${WEBCORE_DIR}/platform/sql"
129     "${WEBCORE_DIR}/platform/text"
130     "${WEBCORE_DIR}/plugins"
131     "${WEBCORE_DIR}/rendering"
132     "${WEBCORE_DIR}/rendering/line"
133     "${WEBCORE_DIR}/rendering/shapes"
134     "${WEBCORE_DIR}/rendering/style"
135     "${WEBCORE_DIR}/storage"
136     "${WEBCORE_DIR}/style"
137     "${WEBCORE_DIR}/svg"
138     "${WEBCORE_DIR}/svg/graphics"
139     "${WEBCORE_DIR}/svg/properties"
140     "${WEBCORE_DIR}/workers"
141     "${JAVASCRIPTCORE_DIR}"
142     "${JAVASCRIPTCORE_DIR}/ForwardingHeaders"
143     "${JAVASCRIPTCORE_DIR}/API"
144     "${JAVASCRIPTCORE_DIR}/assembler"
145     "${JAVASCRIPTCORE_DIR}/bytecode"
146     "${JAVASCRIPTCORE_DIR}/bytecompiler"
147     "${JAVASCRIPTCORE_DIR}/collector/handles"
148     "${JAVASCRIPTCORE_DIR}/dfg"
149     "${JAVASCRIPTCORE_DIR}/disassembler"
150     "${JAVASCRIPTCORE_DIR}/domjit"
151     "${JAVASCRIPTCORE_DIR}/heap"
152     "${JAVASCRIPTCORE_DIR}/interpreter"
153     "${JAVASCRIPTCORE_DIR}/jit"
154     "${JAVASCRIPTCORE_DIR}/parser"
155     "${JAVASCRIPTCORE_DIR}/profiler"
156     "${JAVASCRIPTCORE_DIR}/runtime"
157     "${WTF_DIR}"
158     "${DERIVED_SOURCES_DIR}"
159     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
160     "${DERIVED_SOURCES_WEBCORE_DIR}"
161     "${DERIVED_SOURCES_WEBKIT2_DIR}"
162     "${DERIVED_SOURCES_WEBKIT2_DIR}/include"
163     "${CMAKE_BINARY_DIR}"
164     "${CMAKE_SOURCE_DIR}/Source"
165     "${CMAKE_SOURCE_DIR}/WebKitLibraries"
166 )
167
168 set(PROTOCOL_GENERATOR_SCRIPTS_DIR "${JAVASCRIPTCORE_DIR}/inspector/scripts")
169
170 set(WebKit2_SYSTEM_INCLUDE_DIRECTORIES
171     ${ICU_INCLUDE_DIRS}
172 )
173
174 if (ENABLE_GRAPHICS_CONTEXT_3D)
175     list(APPEND WebKit2_INCLUDE_DIRECTORIES
176         "${THIRDPARTY_DIR}/ANGLE"
177         "${THIRDPARTY_DIR}/ANGLE/include/KHR"
178     )
179 endif ()
180
181 set(NetworkProcess_COMMON_SOURCES
182     NetworkProcess/NetworkConnectionToWebProcess.cpp
183     NetworkProcess/NetworkDataTask.cpp
184     NetworkProcess/NetworkDataTaskBlob.cpp
185     NetworkProcess/NetworkLoad.cpp
186     NetworkProcess/NetworkProcess.cpp
187     NetworkProcess/NetworkProcessPlatformStrategies.cpp
188     NetworkProcess/NetworkResourceLoader.cpp
189     NetworkProcess/NetworkSession.cpp
190
191     NetworkProcess/FileAPI/NetworkBlobRegistry.cpp
192
193     NetworkProcess/cache/NetworkCache.cpp
194     NetworkProcess/cache/NetworkCacheBlobStorage.cpp
195     NetworkProcess/cache/NetworkCacheCoders.cpp
196     NetworkProcess/cache/NetworkCacheData.cpp
197     NetworkProcess/cache/NetworkCacheDecoder.cpp
198     NetworkProcess/cache/NetworkCacheEncoder.cpp
199     NetworkProcess/cache/NetworkCacheEntry.cpp
200     NetworkProcess/cache/NetworkCacheFileSystem.cpp
201     NetworkProcess/cache/NetworkCacheKey.cpp
202     NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp
203     NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp
204     NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp
205     NetworkProcess/cache/NetworkCacheStatistics.cpp
206     NetworkProcess/cache/NetworkCacheStorage.cpp
207 )
208
209 set(WebKit2_SOURCES
210     DatabaseProcess/DatabaseProcess.cpp
211     DatabaseProcess/DatabaseToWebProcessConnection.cpp
212
213     DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp
214
215     NetworkProcess/NetworkProcessCreationParameters.cpp
216     NetworkProcess/NetworkResourceLoadParameters.cpp
217
218     NetworkProcess/Downloads/BlobDownloadClient.cpp
219     NetworkProcess/Downloads/Download.cpp
220     NetworkProcess/Downloads/DownloadManager.cpp
221     NetworkProcess/Downloads/PendingDownload.cpp
222
223     Platform/Logging.cpp
224     Platform/Module.cpp
225
226     Platform/IPC/ArgumentCoders.cpp
227     Platform/IPC/Attachment.cpp
228     Platform/IPC/Connection.cpp
229     Platform/IPC/DataReference.cpp
230     Platform/IPC/Decoder.cpp
231     Platform/IPC/Encoder.cpp
232     Platform/IPC/MessageReceiverMap.cpp
233     Platform/IPC/MessageSender.cpp
234     Platform/IPC/StringReference.cpp
235
236     PluginProcess/PluginControllerProxy.cpp
237     PluginProcess/PluginCreationParameters.cpp
238     PluginProcess/PluginProcess.cpp
239     PluginProcess/WebProcessConnection.cpp
240
241     Shared/ActivityAssertion.cpp
242     Shared/AsyncRequest.cpp
243     Shared/BlobDataFileReferenceWithSandboxExtension.cpp
244     Shared/CacheModel.cpp
245     Shared/ChildProcess.cpp
246     Shared/ContextMenuContextData.cpp
247     Shared/EditorState.cpp
248     Shared/FontInfo.cpp
249     Shared/FrameInfoData.cpp
250     Shared/LayerTreeContext.cpp
251     Shared/LoadParameters.cpp
252     Shared/NavigationActionData.cpp
253     Shared/PlatformPopupMenuData.cpp
254     Shared/PrintInfo.cpp
255     Shared/SessionState.cpp
256     Shared/SessionTracker.cpp
257     Shared/ShareableBitmap.cpp
258     Shared/ShareableResource.cpp
259     Shared/StatisticsData.cpp
260     Shared/UpdateInfo.cpp
261     Shared/UserData.cpp
262     Shared/VisitedLinkTable.cpp
263     Shared/WebBackForwardListItem.cpp
264     Shared/WebCompiledContentExtension.cpp
265     Shared/WebCompiledContentExtensionData.cpp
266     Shared/WebConnection.cpp
267     Shared/WebConnectionClient.cpp
268     Shared/WebContextMenuItem.cpp
269     Shared/WebContextMenuItemData.cpp
270     Shared/WebCoreArgumentCoders.cpp
271     Shared/WebEvent.cpp
272     Shared/WebEventConversion.cpp
273     Shared/WebGeolocationPosition.cpp
274     Shared/WebHitTestResultData.cpp
275     Shared/WebImage.cpp
276     Shared/WebKeyboardEvent.cpp
277     Shared/WebKit2Initialize.cpp
278     Shared/WebMediaSessionMetadata.cpp
279     Shared/WebMemorySampler.cpp
280     Shared/WebMouseEvent.cpp
281     Shared/WebPageCreationParameters.cpp
282     Shared/WebPageGroupData.cpp
283     Shared/WebPlatformTouchPoint.cpp
284     Shared/WebPopupItem.cpp
285     Shared/WebPreferencesKeys.cpp
286     Shared/WebPreferencesStore.cpp
287     Shared/WebProcessCreationParameters.cpp
288     Shared/WebRenderLayer.cpp
289     Shared/WebRenderObject.cpp
290     Shared/WebTouchEvent.cpp
291     Shared/WebUserContentControllerDataTypes.cpp
292     Shared/WebWheelEvent.cpp
293
294     Shared/API/APIArray.cpp
295     Shared/API/APIData.cpp
296     Shared/API/APIDictionary.cpp
297     Shared/API/APIError.cpp
298     Shared/API/APIFrameHandle.cpp
299     Shared/API/APIGeometry.cpp
300     Shared/API/APIObject.cpp
301     Shared/API/APIPageGroupHandle.cpp
302     Shared/API/APIPageHandle.cpp
303     Shared/API/APIURLRequest.cpp
304     Shared/API/APIURLResponse.cpp
305
306     Shared/API/c/WKArray.cpp
307     Shared/API/c/WKCertificateInfo.cpp
308     Shared/API/c/WKConnectionRef.cpp
309     Shared/API/c/WKContextMenuItem.cpp
310     Shared/API/c/WKData.cpp
311     Shared/API/c/WKDeprecatedFunctions.cpp
312     Shared/API/c/WKDictionary.cpp
313     Shared/API/c/WKErrorRef.cpp
314     Shared/API/c/WKGeometry.cpp
315     Shared/API/c/WKImage.cpp
316     Shared/API/c/WKMutableArray.cpp
317     Shared/API/c/WKMutableDictionary.cpp
318     Shared/API/c/WKNumber.cpp
319     Shared/API/c/WKPluginInformation.cpp
320     Shared/API/c/WKRenderLayer.cpp
321     Shared/API/c/WKRenderObject.cpp
322     Shared/API/c/WKSecurityOriginRef.cpp
323     Shared/API/c/WKSerializedScriptValue.cpp
324     Shared/API/c/WKString.cpp
325     Shared/API/c/WKType.cpp
326     Shared/API/c/WKURL.cpp
327     Shared/API/c/WKURLRequest.cpp
328     Shared/API/c/WKURLResponse.cpp
329     Shared/API/c/WKUserContentURLPattern.cpp
330
331     Shared/Authentication/AuthenticationManager.cpp
332
333     Shared/Databases/DatabaseProcessCreationParameters.cpp
334
335     Shared/Databases/IndexedDB/IDBUtilities.cpp
336     Shared/Databases/IndexedDB/WebIDBResult.cpp
337
338     Shared/Gamepad/GamepadData.cpp
339
340     Shared/Plugins/NPIdentifierData.cpp
341     Shared/Plugins/NPObjectMessageReceiver.cpp
342     Shared/Plugins/NPObjectProxy.cpp
343     Shared/Plugins/NPRemoteObjectMap.cpp
344     Shared/Plugins/NPVariantData.cpp
345     Shared/Plugins/PluginProcessCreationParameters.cpp
346
347     Shared/Plugins/Netscape/NetscapePluginModule.cpp
348     Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp
349     Shared/Plugins/Netscape/PluginInformation.cpp
350
351     Shared/WebsiteData/WebsiteData.cpp
352
353     UIProcess/ChildProcessProxy.cpp
354     UIProcess/DrawingAreaProxy.cpp
355     UIProcess/FrameLoadState.cpp
356     UIProcess/GeolocationPermissionRequestManagerProxy.cpp
357     UIProcess/GeolocationPermissionRequestProxy.cpp
358     UIProcess/PageLoadState.cpp
359     UIProcess/ProcessAssertion.cpp
360     UIProcess/ProcessThrottler.cpp
361     UIProcess/RemoteWebInspectorProxy.cpp
362     UIProcess/ResponsivenessTimer.cpp
363     UIProcess/StatisticsRequest.cpp
364     UIProcess/TextCheckerCompletion.cpp
365     UIProcess/UserMediaPermissionCheckProxy.cpp
366     UIProcess/UserMediaPermissionRequestManagerProxy.cpp
367     UIProcess/UserMediaPermissionRequestProxy.cpp
368     UIProcess/VisitedLinkStore.cpp
369     UIProcess/WebBackForwardList.cpp
370     UIProcess/WebColorPicker.cpp
371     UIProcess/WebConnectionToWebProcess.cpp
372     UIProcess/WebContextClient.cpp
373     UIProcess/WebContextConnectionClient.cpp
374     UIProcess/WebContextInjectedBundleClient.cpp
375     UIProcess/WebContextMenuProxy.cpp
376     UIProcess/WebCookieManagerProxy.cpp
377     UIProcess/WebCookieManagerProxyClient.cpp
378     UIProcess/WebEditCommandProxy.cpp
379     UIProcess/WebFormClient.cpp
380     UIProcess/WebFormSubmissionListenerProxy.cpp
381     UIProcess/WebFrameListenerProxy.cpp
382     UIProcess/WebFramePolicyListenerProxy.cpp
383     UIProcess/WebFrameProxy.cpp
384     UIProcess/WebFullScreenManagerProxy.cpp
385     UIProcess/WebGeolocationManagerProxy.cpp
386     UIProcess/WebGeolocationProvider.cpp
387     UIProcess/WebGrammarDetail.cpp
388     UIProcess/WebIconDatabase.cpp
389     UIProcess/WebIconDatabaseClient.cpp
390     UIProcess/WebInspectorProxy.cpp
391     UIProcess/WebInspectorUtilities.cpp
392     UIProcess/WebNavigationState.cpp
393     UIProcess/WebOpenPanelResultListenerProxy.cpp
394     UIProcess/WebPageDiagnosticLoggingClient.cpp
395     UIProcess/WebPageGroup.cpp
396     UIProcess/WebPageInjectedBundleClient.cpp
397     UIProcess/WebPageProxy.cpp
398     UIProcess/WebPasteboardProxy.cpp
399     UIProcess/WebPreferences.cpp
400     UIProcess/WebProcessLifetimeObserver.cpp
401     UIProcess/WebProcessLifetimeTracker.cpp
402     UIProcess/WebProcessPool.cpp
403     UIProcess/WebProcessProxy.cpp
404     UIProcess/WebVibrationProvider.cpp
405     UIProcess/WebVibrationProxy.cpp
406     UIProcess/WebViewportAttributes.cpp
407
408     UIProcess/API/APIExperimentalFeature.cpp
409     UIProcess/API/APIFrameInfo.cpp
410     UIProcess/API/APIHitTestResult.cpp
411     UIProcess/API/APINavigation.cpp
412     UIProcess/API/APINavigationData.cpp
413     UIProcess/API/APIPageConfiguration.cpp
414     UIProcess/API/APIProcessPoolConfiguration.cpp
415     UIProcess/API/APIOpenPanelParameters.cpp
416     UIProcess/API/APISessionState.cpp
417     UIProcess/API/APIUserContentExtension.cpp
418     UIProcess/API/APIUserContentExtensionStore.cpp
419     UIProcess/API/APIUserContentWorld.cpp
420     UIProcess/API/APIUserScript.cpp
421     UIProcess/API/APIUserStyleSheet.cpp
422     UIProcess/API/APIWebsiteDataStore.cpp
423     UIProcess/API/APIWindowFeatures.cpp
424
425     UIProcess/API/C/WKApplicationCacheManager.cpp
426     UIProcess/API/C/WKAuthenticationChallenge.cpp
427     UIProcess/API/C/WKAuthenticationDecisionListener.cpp
428     UIProcess/API/C/WKBackForwardListItemRef.cpp
429     UIProcess/API/C/WKBackForwardListRef.cpp
430     UIProcess/API/C/WKContext.cpp
431     UIProcess/API/C/WKContextConfigurationRef.cpp
432     UIProcess/API/C/WKCookieManager.cpp
433     UIProcess/API/C/WKCredential.cpp
434     UIProcess/API/C/WKDownload.cpp
435     UIProcess/API/C/WKFormSubmissionListener.cpp
436     UIProcess/API/C/WKFrame.cpp
437     UIProcess/API/C/WKFrameHandleRef.cpp
438     UIProcess/API/C/WKFrameInfoRef.cpp
439     UIProcess/API/C/WKFramePolicyListener.cpp
440     UIProcess/API/C/WKGeolocationManager.cpp
441     UIProcess/API/C/WKGeolocationPermissionRequest.cpp
442     UIProcess/API/C/WKGeolocationPosition.cpp
443     UIProcess/API/C/WKGrammarDetail.cpp
444     UIProcess/API/C/WKHitTestResult.cpp
445     UIProcess/API/C/WKIconDatabase.cpp
446     UIProcess/API/C/WKInspector.cpp
447     UIProcess/API/C/WKKeyValueStorageManager.cpp
448     UIProcess/API/C/WKMediaSessionMetadata.cpp
449     UIProcess/API/C/WKNavigationActionRef.cpp
450     UIProcess/API/C/WKNavigationDataRef.cpp
451     UIProcess/API/C/WKNavigationRef.cpp
452     UIProcess/API/C/WKNavigationResponseRef.cpp
453     UIProcess/API/C/WKNotification.cpp
454     UIProcess/API/C/WKNotificationManager.cpp
455     UIProcess/API/C/WKNotificationPermissionRequest.cpp
456     UIProcess/API/C/WKOpenPanelParametersRef.cpp
457     UIProcess/API/C/WKOpenPanelResultListener.cpp
458     UIProcess/API/C/WKPage.cpp
459     UIProcess/API/C/WKPageConfigurationRef.cpp
460     UIProcess/API/C/WKPageGroup.cpp
461     UIProcess/API/C/WKPreferences.cpp
462     UIProcess/API/C/WKProtectionSpace.cpp
463     UIProcess/API/C/WKResourceCacheManager.cpp
464     UIProcess/API/C/WKSessionStateRef.cpp
465     UIProcess/API/C/WKTextChecker.cpp
466     UIProcess/API/C/WKUserContentControllerRef.cpp
467     UIProcess/API/C/WKUserMediaPermissionCheck.cpp
468     UIProcess/API/C/WKUserMediaPermissionRequest.cpp
469     UIProcess/API/C/WKVibration.cpp
470     UIProcess/API/C/WKViewportAttributes.cpp
471     UIProcess/API/C/WKWebsiteDataStoreRef.cpp
472     UIProcess/API/C/WKWindowFeaturesRef.cpp
473
474     UIProcess/Authentication/AuthenticationChallengeProxy.cpp
475     UIProcess/Authentication/AuthenticationDecisionListener.cpp
476     UIProcess/Authentication/WebCredential.cpp
477     UIProcess/Authentication/WebProtectionSpace.cpp
478
479     UIProcess/Automation/WebAutomationSession.cpp
480
481     UIProcess/Databases/DatabaseProcessProxy.cpp
482
483     UIProcess/Downloads/DownloadProxy.cpp
484     UIProcess/Downloads/DownloadProxyMap.cpp
485
486     UIProcess/Gamepad/UIGamepad.cpp
487     UIProcess/Gamepad/UIGamepadProvider.cpp
488
489     UIProcess/InspectorServer/HTTPRequest.cpp
490     UIProcess/InspectorServer/WebInspectorServer.cpp
491     UIProcess/InspectorServer/WebSocketServer.cpp
492     UIProcess/InspectorServer/WebSocketServerConnection.cpp
493
494     UIProcess/Launcher/ProcessLauncher.cpp
495
496     UIProcess/Network/NetworkProcessProxy.cpp
497
498     UIProcess/Notifications/NotificationPermissionRequest.cpp
499     UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp
500     UIProcess/Notifications/WebNotification.cpp
501     UIProcess/Notifications/WebNotificationManagerProxy.cpp
502     UIProcess/Notifications/WebNotificationProvider.cpp
503
504     UIProcess/Plugins/PlugInAutoStartProvider.cpp
505     UIProcess/Plugins/PluginInfoStore.cpp
506     UIProcess/Plugins/PluginProcessManager.cpp
507     UIProcess/Plugins/PluginProcessProxy.cpp
508
509     UIProcess/Storage/LocalStorageDatabase.cpp
510     UIProcess/Storage/LocalStorageDatabaseTracker.cpp
511
512     UIProcess/UserContent/WebScriptMessageHandler.cpp
513     UIProcess/UserContent/WebUserContentControllerProxy.cpp
514
515     UIProcess/WebsiteData/WebsiteDataRecord.cpp
516     UIProcess/WebsiteData/WebsiteDataStore.cpp
517
518     WebProcess/WebConnectionToUIProcess.cpp
519     WebProcess/WebProcess.cpp
520
521     WebProcess/Automation/WebAutomationSessionProxy.cpp
522
523     WebProcess/Cookies/WebCookieManager.cpp
524
525     WebProcess/Databases/WebDatabaseProvider.cpp
526     WebProcess/Databases/WebToDatabaseProcessConnection.cpp
527
528     WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp
529
530     WebProcess/FileAPI/BlobRegistryProxy.cpp
531
532     WebProcess/FullScreen/WebFullScreenManager.cpp
533
534     WebProcess/Gamepad/WebGamepad.cpp
535     WebProcess/Gamepad/WebGamepadProvider.cpp
536
537     WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp
538     WebProcess/Geolocation/WebGeolocationManager.cpp
539
540     WebProcess/IconDatabase/WebIconDatabaseProxy.cpp
541
542     WebProcess/InjectedBundle/InjectedBundle.cpp
543     WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp
544     WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp
545     WebProcess/InjectedBundle/InjectedBundleClient.cpp
546     WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp
547     WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp
548     WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp
549     WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp
550     WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp
551     WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp
552     WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp
553     WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp
554     WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp
555     WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp
556     WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp
557     WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp
558     WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp
559
560     WebProcess/InjectedBundle/API/c/WKBundle.cpp
561     WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp
562     WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp
563     WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp
564     WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp
565     WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp
566     WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp
567     WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp
568     WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp
569     WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
570     WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp
571     WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp
572     WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp
573     WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp
574
575     WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp
576     WebProcess/InjectedBundle/DOM/InjectedBundleFileHandle.cpp
577     WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp
578     WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp
579
580     WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp
581
582     WebProcess/Network/NetworkProcessConnection.cpp
583     WebProcess/Network/WebLoaderStrategy.cpp
584     WebProcess/Network/WebResourceLoader.cpp
585     WebProcess/Network/WebSocketProvider.cpp
586
587     WebProcess/Notifications/NotificationPermissionRequestManager.cpp
588     WebProcess/Notifications/WebNotificationManager.cpp
589
590     WebProcess/Plugins/Plugin.cpp
591     WebProcess/Plugins/PluginProcessConnection.cpp
592     WebProcess/Plugins/PluginProcessConnectionManager.cpp
593     WebProcess/Plugins/PluginProxy.cpp
594     WebProcess/Plugins/PluginView.cpp
595     WebProcess/Plugins/WebPluginInfoProvider.cpp
596
597     WebProcess/Plugins/Netscape/JSNPMethod.cpp
598     WebProcess/Plugins/Netscape/JSNPObject.cpp
599     WebProcess/Plugins/Netscape/NPJSObject.cpp
600     WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp
601     WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp
602     WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
603     WebProcess/Plugins/Netscape/NetscapePlugin.cpp
604     WebProcess/Plugins/Netscape/NetscapePluginNone.cpp
605     WebProcess/Plugins/Netscape/NetscapePluginStream.cpp
606
607     WebProcess/Storage/StorageAreaImpl.cpp
608     WebProcess/Storage/StorageAreaMap.cpp
609     WebProcess/Storage/StorageNamespaceImpl.cpp
610     WebProcess/Storage/WebStorageNamespaceProvider.cpp
611
612     WebProcess/UserContent/WebUserContentController.cpp
613
614     WebProcess/WebCoreSupport/SessionStateConversion.cpp
615     WebProcess/WebCoreSupport/WebChromeClient.cpp
616     WebProcess/WebCoreSupport/WebColorChooser.cpp
617     WebProcess/WebCoreSupport/WebContextMenuClient.cpp
618     WebProcess/WebCoreSupport/WebDeviceProximityClient.cpp
619     WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp
620     WebProcess/WebCoreSupport/WebDragClient.cpp
621     WebProcess/WebCoreSupport/WebEditorClient.cpp
622     WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
623     WebProcess/WebCoreSupport/WebGeolocationClient.cpp
624     WebProcess/WebCoreSupport/WebInspectorClient.cpp
625     WebProcess/WebCoreSupport/WebNotificationClient.cpp
626     WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
627     WebProcess/WebCoreSupport/WebPlugInClient.cpp
628     WebProcess/WebCoreSupport/WebPopupMenu.cpp
629     WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp
630     WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp
631     WebProcess/WebCoreSupport/WebUserMediaClient.cpp
632     WebProcess/WebCoreSupport/WebVibrationClient.cpp
633
634     WebProcess/WebPage/DrawingArea.cpp
635     WebProcess/WebPage/EventDispatcher.cpp
636     WebProcess/WebPage/FindController.cpp
637     WebProcess/WebPage/LayerTreeHost.cpp
638     WebProcess/WebPage/PageBanner.cpp
639     WebProcess/WebPage/RemoteWebInspectorUI.cpp
640     WebProcess/WebPage/VisitedLinkTableController.cpp
641     WebProcess/WebPage/WebBackForwardListProxy.cpp
642     WebProcess/WebPage/WebContextMenu.cpp
643     WebProcess/WebPage/WebDocumentLoader.cpp
644     WebProcess/WebPage/WebFrame.cpp
645     WebProcess/WebPage/WebInspector.cpp
646     WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.cpp
647     WebProcess/WebPage/WebInspectorUI.cpp
648     WebProcess/WebPage/WebOpenPanelResultListener.cpp
649     WebProcess/WebPage/WebPage.cpp
650     WebProcess/WebPage/WebPageGroupProxy.cpp
651     WebProcess/WebPage/WebPageOverlay.cpp
652     WebProcess/WebPage/WebUndoStep.cpp
653
654
655
656     ${NetworkProcess_COMMON_SOURCES}
657 )
658
659 set(WebKit2_MESSAGES_IN_FILES
660     DatabaseProcess/DatabaseProcess.messages.in
661     DatabaseProcess/DatabaseToWebProcessConnection.messages.in
662
663     DatabaseProcess/IndexedDB/WebIDBConnectionToClient.messages.in
664
665     NetworkProcess/CustomProtocols/CustomProtocolManager.messages.in
666
667     NetworkProcess/NetworkConnectionToWebProcess.messages.in
668     NetworkProcess/NetworkProcess.messages.in
669     NetworkProcess/NetworkResourceLoader.messages.in
670
671     PluginProcess/PluginControllerProxy.messages.in
672     PluginProcess/PluginProcess.messages.in
673     PluginProcess/WebProcessConnection.messages.in
674
675     Shared/ChildProcess.messages.in
676     Shared/WebConnection.messages.in
677
678     Shared/Authentication/AuthenticationManager.messages.in
679
680     Shared/Plugins/NPObjectMessageReceiver.messages.in
681
682     UIProcess/DrawingAreaProxy.messages.in
683     UIProcess/RemoteWebInspectorProxy.messages.in
684     UIProcess/VisitedLinkStore.messages.in
685     UIProcess/WebCookieManagerProxy.messages.in
686     UIProcess/WebFullScreenManagerProxy.messages.in
687     UIProcess/WebGeolocationManagerProxy.messages.in
688     UIProcess/WebIconDatabase.messages.in
689     UIProcess/WebInspectorProxy.messages.in
690     UIProcess/WebPageProxy.messages.in
691     UIProcess/WebPasteboardProxy.messages.in
692     UIProcess/WebProcessPool.messages.in
693     UIProcess/WebProcessProxy.messages.in
694     UIProcess/WebResourceLoadStatisticsStore.messages.in
695     UIProcess/WebVibrationProxy.messages.in
696
697     UIProcess/Automation/WebAutomationSession.messages.in
698
699     UIProcess/Databases/DatabaseProcessProxy.messages.in
700
701     UIProcess/Downloads/DownloadProxy.messages.in
702
703     UIProcess/Network/NetworkProcessProxy.messages.in
704
705     UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in
706
707     UIProcess/Plugins/PluginProcessProxy.messages.in
708
709     UIProcess/Storage/StorageManager.messages.in
710
711     UIProcess/UserContent/WebUserContentControllerProxy.messages.in
712
713     WebProcess/WebProcess.messages.in
714
715     WebProcess/Automation/WebAutomationSessionProxy.messages.in
716
717     WebProcess/Cookies/WebCookieManager.messages.in
718
719     WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in
720
721     WebProcess/FullScreen/WebFullScreenManager.messages.in
722
723     WebProcess/Geolocation/WebGeolocationManager.messages.in
724
725     WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in
726
727     WebProcess/Network/NetworkProcessConnection.messages.in
728     WebProcess/Network/WebResourceLoader.messages.in
729
730     WebProcess/Notifications/WebNotificationManager.messages.in
731
732     WebProcess/Plugins/PluginProcessConnection.messages.in
733     WebProcess/Plugins/PluginProcessConnectionManager.messages.in
734     WebProcess/Plugins/PluginProxy.messages.in
735
736     WebProcess/Storage/StorageAreaMap.messages.in
737
738     WebProcess/UserContent/WebUserContentController.messages.in
739
740     WebProcess/WebPage/DrawingArea.messages.in
741     WebProcess/WebPage/EventDispatcher.messages.in
742     WebProcess/WebPage/RemoteWebInspectorUI.messages.in
743     WebProcess/WebPage/VisitedLinkTableController.messages.in
744     WebProcess/WebPage/WebInspector.messages.in
745     WebProcess/WebPage/WebInspectorUI.messages.in
746     WebProcess/WebPage/WebPage.messages.in
747 )
748
749 set(WebProcess_LIBRARIES
750     WebKit2
751 )
752
753 set(NetworkProcess_LIBRARIES
754     WebKit2
755 )
756
757 set(DatabaseProcess_LIBRARIES
758     WebKit2
759 )
760
761 if (APPLE)
762     set(WebKit2_LIBRARIES
763         PRIVATE WebCore
764         PUBLIC JavaScriptCore
765     )
766 else ()
767     set(WebKit2_LIBRARIES
768         JavaScriptCore
769         WebCore
770     )
771 endif ()
772
773 set(PluginProcess_LIBRARIES
774     WebKit2
775 )
776
777 if (WIN32 AND INTERNAL_BUILD)
778     set(JavaScriptCore_SCRIPTS_DIR "${CMAKE_BINARY_DIR}/../include/private/JavaScriptCore/Scripts")
779 else ()
780     set(JavaScriptCore_SCRIPTS_DIR "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/Scripts")
781 endif ()
782
783 # librt is needed for shm_open on Linux.
784 find_library(LIBRT_LIBRARIES NAMES rt)
785 mark_as_advanced(LIBRT_LIBRARIES)
786 if (LIBRT_LIBRARIES)
787     list(APPEND WebKit2_LIBRARIES ${LIBRT_LIBRARIES})
788 endif ()
789
790 macro(ADD_WEBKIT2_PREFIX_HEADER _target)
791     if (WebKit2_USE_PREFIX_HEADER)
792         get_target_property(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
793         if (${OLD_COMPILE_FLAGS} STREQUAL "OLD_COMPILE_FLAGS-NOTFOUND")
794             set(OLD_COMPILE_FLAGS "")
795         endif ()
796         set_target_properties(${_target} PROPERTIES COMPILE_FLAGS "${OLD_COMPILE_FLAGS} -include ${WEBKIT2_DIR}/WebKit2Prefix.h")
797     endif ()
798 endmacro()
799
800 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
801
802 GENERATE_WEBKIT2_MESSAGE_SOURCES(WebKit2_DERIVED_SOURCES "${WebKit2_MESSAGES_IN_FILES}")
803
804 set(WebKit2_AUTOMATION_PROTOCOL_GENERATOR_SCRIPTS
805     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py
806     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/codegen/cpp_generator.py
807     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/codegen/cpp_generator_templates.py
808     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/codegen/generate_cpp_backend_dispatcher_header.py
809     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/codegen/generate_cpp_backend_dispatcher_implementation.py
810     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/codegen/generate_cpp_protocol_types_header.py
811     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/codegen/generate_cpp_protocol_types_implementation.py
812     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/codegen/generator.py
813     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/codegen/generator_templates.py
814     ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/codegen/models.py
815 )
816
817 set(WebKit2_AUTOMATION_PROTOCOL_GENERATOR_INPUTS
818     ${WEBKIT2_DIR}/UIProcess/Automation/Automation.json
819 )
820
821 add_custom_command(
822     OUTPUT ${DERIVED_SOURCES_WEBKIT2_DIR}/AutomationBackendDispatchers.h ${DERIVED_SOURCES_WEBKIT2_DIR}/AutomationBackendDispatchers.cpp ${DERIVED_SOURCES_WEBKIT2_DIR}/AutomationProtocolObjects.h ${DERIVED_SOURCES_WEBKIT2_DIR}/AutomationProtocolObjects.cpp
823     MAIN_DEPENDENCY ${WebKit2_AUTOMATION_PROTOCOL_GENERATOR_INPUTS}
824     DEPENDS ${WebKit2_AUTOMATION_PROTOCOL_GENERATOR_SCRIPTS}
825     COMMAND ${PYTHON_EXECUTABLE} ${PROTOCOL_GENERATOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py --outputDir "${DERIVED_SOURCES_WEBKIT2_DIR}" --framework WebKit --backend ${WebKit2_AUTOMATION_PROTOCOL_GENERATOR_INPUTS}
826     VERBATIM)
827
828 list(APPEND WebKit2_HEADERS
829     ${DERIVED_SOURCES_WEBKIT2_DIR}/AutomationBackendDispatchers.h
830     ${DERIVED_SOURCES_WEBKIT2_DIR}/AutomationProtocolObjects.h
831 )
832
833 list(APPEND WebKit2_SOURCES
834     ${DERIVED_SOURCES_WEBKIT2_DIR}/AutomationBackendDispatchers.cpp
835     ${DERIVED_SOURCES_WEBKIT2_DIR}/AutomationProtocolObjects.cpp
836 )
837
838 add_custom_command(
839     OUTPUT ${DERIVED_SOURCES_WEBKIT2_DIR}/WebAutomationSessionProxyScriptSource.h ${DERIVED_SOURCES_WEBKIT2_DIR}/WebAutomationSessionProxy.min.js
840     MAIN_DEPENDENCY ${WEBKIT2_DIR}/WebProcess/Automation/WebAutomationSessionProxy.js
841     DEPENDS ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py
842     COMMAND ${CMAKE_COMMAND} -E echo "//# sourceURL=__InjectedScript_WebAutomationSessionProxy.js" > ${DERIVED_SOURCES_WEBKIT2_DIR}/WebAutomationSessionProxy.min.js
843     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py < ${WEBKIT2_DIR}/WebProcess/Automation/WebAutomationSessionProxy.js >> ${DERIVED_SOURCES_WEBKIT2_DIR}/WebAutomationSessionProxy.min.js
844     COMMAND ${PERL_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl WebAutomationSessionProxyScriptSource ${DERIVED_SOURCES_WEBKIT2_DIR}/WebAutomationSessionProxy.min.js ${DERIVED_SOURCES_WEBKIT2_DIR}/WebAutomationSessionProxyScriptSource.h
845     VERBATIM)
846
847 list(APPEND WebKit2_HEADERS
848     ${DERIVED_SOURCES_WEBKIT2_DIR}/WebAutomationSessionProxyScriptSource.h
849 )
850
851 list(APPEND WebKit2_SOURCES ${WebKit2_DERIVED_SOURCES})
852
853 WEBKIT_FRAMEWORK(WebKit2)
854 add_dependencies(WebKit2 WebCore ${WEBKIT2_EXTRA_DEPENDENCIES})
855 add_webkit2_prefix_header(WebKit2)
856
857 if (NOT APPLE)
858     target_link_libraries(WebKit2 -Wl,--start-group WebCore WebCoreDerivedSources -Wl,--end-group)
859 endif ()
860
861 # Suppress unused parameter warnings for sources in WebKit2.
862 ADD_TARGET_PROPERTIES(WebKit2 COMPILE_FLAGS "-Wno-unused-parameter")
863
864 if (WebKit2_VERSION_SCRIPT)
865     ADD_TARGET_PROPERTIES(WebKit2 LINK_FLAGS "${WebKit2_VERSION_SCRIPT}")
866 endif ()
867
868 add_executable(WebProcess ${WebProcess_SOURCES})
869 add_webkit2_prefix_header(WebProcess)
870 target_link_libraries(WebProcess ${WebProcess_LIBRARIES})
871
872 if (WebKit2_WebProcess_OUTPUT_NAME)
873     set_target_properties(WebProcess PROPERTIES OUTPUT_NAME ${WebKit2_WebProcess_OUTPUT_NAME})
874 endif ()
875
876 add_executable(NetworkProcess ${NetworkProcess_SOURCES})
877 add_webkit2_prefix_header(NetworkProcess)
878 target_link_libraries(NetworkProcess ${NetworkProcess_LIBRARIES})
879
880 if (WebKit2_NetworkProcess_OUTPUT_NAME)
881     set_target_properties(NetworkProcess PROPERTIES OUTPUT_NAME ${WebKit2_NetworkProcess_OUTPUT_NAME})
882 endif ()
883
884 if (ENABLE_PLUGIN_PROCESS AND NOT "${PORT}" STREQUAL "Mac")
885     add_definitions(-DENABLE_PLUGIN_PROCESS=1)
886     add_executable(PluginProcess ${PluginProcess_SOURCES})
887     add_webkit2_prefix_header(PluginProcess)
888     target_link_libraries(PluginProcess ${PluginProcess_LIBRARIES})
889     install(TARGETS PluginProcess DESTINATION "${LIBEXEC_INSTALL_DIR}")
890
891     if (WebKit2_PluginProcess_OUTPUT_NAME)
892       set_target_properties(PluginProcess PROPERTIES OUTPUT_NAME ${WebKit2_PluginProcess_OUTPUT_NAME})
893     endif ()
894 endif ()
895
896 if (ENABLE_DATABASE_PROCESS AND NOT "${PORT}" STREQUAL "Mac")
897     add_definitions(-DENABLE_DATABASE_PROCESS=1)
898     add_executable(DatabaseProcess ${DatabaseProcess_SOURCES})
899     add_webkit2_prefix_header(DatabaseProcess)
900     target_link_libraries(DatabaseProcess ${DatabaseProcess_LIBRARIES})
901     install(TARGETS DatabaseProcess DESTINATION "${LIBEXEC_INSTALL_DIR}")
902
903     if (WebKit2_DatabaseProcess_OUTPUT_NAME)
904         set_target_properties(DatabaseProcess PROPERTIES OUTPUT_NAME ${WebKit2_DatabaseProcess_OUTPUT_NAME})
905     endif ()
906 endif ()
907
908 if ("${PORT}" STREQUAL "Mac")
909     set(_web_xpc_dir ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/WebKit.framework/XPCServices/com.apple.WebKit.WebContent.Development.xpc/Contents)
910     make_directory(${_web_xpc_dir}/MacOS)
911     make_directory(${_web_xpc_dir}/Resources)
912     make_directory(${_web_xpc_dir}/_CodeSignature)
913
914     add_custom_target(WebContentProcessNib COMMAND
915         ibtool --compile ${_web_xpc_dir}/Resources/WebContentProcess.nib ${WEBKIT2_DIR}/Resources/WebContentProcess.xib
916         VERBATIM)
917     add_dependencies(WebKit2 WebContentProcessNib)
918
919     # FIXME: This shouldn't be two operations.
920     file(COPY ${WEBKIT2_DIR}/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist DESTINATION ${_web_xpc_dir})
921     file(RENAME ${_web_xpc_dir}/Info-OSX.plist ${_web_xpc_dir}/Info.plist)
922
923     set_target_properties(WebProcess PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${_web_xpc_dir}/MacOS")
924
925
926     set(_net_xpc_dir ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/WebKit.framework/XPCServices/com.apple.WebKit.Networking.Development.xpc/Contents)
927     make_directory(${_net_xpc_dir}/MacOS)
928     make_directory(${_net_xpc_dir}/_CodeSignature)
929
930     # FIXME: This shouldn't be two operations.
931     file(COPY ${WEBKIT2_DIR}/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist DESTINATION ${_net_xpc_dir})
932     file(RENAME ${_net_xpc_dir}/Info-OSX.plist ${_net_xpc_dir}/Info.plist)
933
934     set_target_properties(NetworkProcess PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${_net_xpc_dir}/MacOS")
935 else ()
936     POPULATE_LIBRARY_VERSION(WEBKIT2)
937     set_target_properties(WebKit2 PROPERTIES VERSION ${WEBKIT2_VERSION} SOVERSION ${WEBKIT2_VERSION_MAJOR})
938
939     install(TARGETS WebKit2 WebProcess NetworkProcess
940         LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
941         RUNTIME DESTINATION "${LIBEXEC_INSTALL_DIR}"
942     )
943 endif ()