1file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKIT2_DIR})
2file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR})
3file(MAKE_DIRECTORY ${FORWARDING_HEADERS_WEBKIT2GTK_DIR})
4file(MAKE_DIRECTORY ${FORWARDING_HEADERS_WEBKIT2GTK_EXTENSION_DIR})
5
6configure_file(UIProcess/API/gtk/WebKitVersion.h.in ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitVersion.h)
7configure_file(webkit2gtk.pc.in ${WebKit2_PKGCONFIG_FILE} @ONLY)
8configure_file(webkit2gtk-web-extension.pc.in ${WebKit2WebExtension_PKGCONFIG_FILE} @ONLY)
9
10add_definitions(-DWEBKIT2_COMPILATION)
11add_definitions(-DLIBEXECDIR="${LIBEXEC_INSTALL_DIR}")
12add_definitions(-DPACKAGE_LOCALE_DIR="${CMAKE_INSTALL_FULL_LOCALEDIR}")
13add_definitions(-DLIBDIR="${LIB_INSTALL_DIR}")
14
15set(WebKit2_USE_PREFIX_HEADER ON)
16
17list(APPEND WebKit2_SOURCES
18    ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.c
19    ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/WebKit2InspectorGResourceBundle.c
20    ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/WebKit2ResourcesGResourceBundle.c
21
22    ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.cpp
23    ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitMarshal.cpp
24
25    NetworkProcess/gtk/NetworkProcessMainGtk.cpp
26
27    NetworkProcess/soup/NetworkProcessSoup.cpp
28    NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp
29    NetworkProcess/soup/RemoteNetworkingContextSoup.cpp
30
31    Platform/IPC/unix/AttachmentUnix.cpp
32    Platform/IPC/unix/ConnectionUnix.cpp
33
34    Platform/gtk/LoggingGtk.cpp
35    Platform/gtk/ModuleGtk.cpp
36    Platform/gtk/WorkQueueGtk.cpp
37
38    Platform/unix/SharedMemoryUnix.cpp
39
40    PluginProcess/unix/PluginControllerProxyUnix.cpp
41    PluginProcess/unix/PluginProcessMainUnix.cpp
42    PluginProcess/unix/PluginProcessUnix.cpp
43
44    Shared/API/c/cairo/WKImageCairo.cpp
45
46    Shared/Downloads/gtk/DownloadSoupErrorsGtk.cpp
47
48    Shared/Downloads/soup/DownloadSoup.cpp
49
50    Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp
51    Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp
52
53    Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
54
55    Shared/cairo/ShareableBitmapCairo.cpp
56
57    Shared/gtk/ArgumentCodersGtk.cpp
58    Shared/gtk/NativeWebKeyboardEventGtk.cpp
59    Shared/gtk/NativeWebMouseEventGtk.cpp
60    Shared/gtk/NativeWebTouchEventGtk.cpp
61    Shared/gtk/NativeWebWheelEventGtk.cpp
62    Shared/gtk/PrintInfoGtk.cpp
63    Shared/gtk/ProcessExecutablePathGtk.cpp
64    Shared/gtk/WebEventFactory.cpp
65
66    Shared/linux/WebMemorySamplerLinux.cpp
67
68    Shared/linux/SeccompFilters/OpenSyscall.cpp
69    Shared/linux/SeccompFilters/SeccompBroker.cpp
70    Shared/linux/SeccompFilters/SeccompFilters.cpp
71    Shared/linux/SeccompFilters/SigactionSyscall.cpp
72    Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp
73    Shared/linux/SeccompFilters/Syscall.cpp
74    Shared/linux/SeccompFilters/SyscallPolicy.cpp
75
76    Shared/soup/WebCoreArgumentCodersSoup.cpp
77
78    Shared/unix/ChildProcessMain.cpp
79
80    UIProcess/DefaultUndoController.cpp
81    UIProcess/DrawingAreaProxyImpl.cpp
82
83    UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp
84
85    UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp
86    UIProcess/API/C/gtk/WKInspectorClientGtk.cpp
87    UIProcess/API/C/gtk/WKView.cpp
88
89    UIProcess/API/C/soup/WKCookieManagerSoup.cpp
90    UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp
91
92    UIProcess/API/gtk/PageClientImpl.cpp
93    UIProcess/API/gtk/PageClientImpl.h
94    UIProcess/API/gtk/WebKitAuthenticationDialog.cpp
95    UIProcess/API/gtk/WebKitAuthenticationDialog.h
96    UIProcess/API/gtk/WebKitAuthenticationRequest.cpp
97    UIProcess/API/gtk/WebKitAuthenticationRequest.h
98    UIProcess/API/gtk/WebKitBackForwardList.cpp
99    UIProcess/API/gtk/WebKitBackForwardList.h
100    UIProcess/API/gtk/WebKitBackForwardListItem.cpp
101    UIProcess/API/gtk/WebKitBackForwardListItem.h
102    UIProcess/API/gtk/WebKitBackForwardListPrivate.h
103    UIProcess/API/gtk/WebKitCertificateInfo.cpp
104    UIProcess/API/gtk/WebKitCertificateInfo.h
105    UIProcess/API/gtk/WebKitCertificateInfoPrivate.h
106    UIProcess/API/gtk/WebKitContextMenu.cpp
107    UIProcess/API/gtk/WebKitContextMenu.h
108    UIProcess/API/gtk/WebKitContextMenuActions.cpp
109    UIProcess/API/gtk/WebKitContextMenuActions.h
110    UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h
111    UIProcess/API/gtk/WebKitContextMenuClient.cpp
112    UIProcess/API/gtk/WebKitContextMenuClient.h
113    UIProcess/API/gtk/WebKitContextMenuItem.cpp
114    UIProcess/API/gtk/WebKitContextMenuItem.h
115    UIProcess/API/gtk/WebKitContextMenuItemPrivate.h
116    UIProcess/API/gtk/WebKitContextMenuPrivate.h
117    UIProcess/API/gtk/WebKitCookieManager.cpp
118    UIProcess/API/gtk/WebKitCookieManager.h
119    UIProcess/API/gtk/WebKitCookieManagerPrivate.h
120    UIProcess/API/gtk/WebKitCredential.cpp
121    UIProcess/API/gtk/WebKitCredential.h
122    UIProcess/API/gtk/WebKitDefines.h
123    UIProcess/API/gtk/WebKitDownload.cpp
124    UIProcess/API/gtk/WebKitDownload.h
125    UIProcess/API/gtk/WebKitDownloadClient.cpp
126    UIProcess/API/gtk/WebKitDownloadClient.h
127    UIProcess/API/gtk/WebKitDownloadPrivate.h
128    UIProcess/API/gtk/WebKitEditingCommands.h
129    UIProcess/API/gtk/WebKitError.cpp
130    UIProcess/API/gtk/WebKitError.h
131    UIProcess/API/gtk/WebKitFaviconDatabase.cpp
132    UIProcess/API/gtk/WebKitFaviconDatabase.h
133    UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h
134    UIProcess/API/gtk/WebKitFileChooserRequest.cpp
135    UIProcess/API/gtk/WebKitFileChooserRequest.h
136    UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h
137    UIProcess/API/gtk/WebKitFindController.cpp
138    UIProcess/API/gtk/WebKitFindController.h
139    UIProcess/API/gtk/WebKitFormClient.cpp
140    UIProcess/API/gtk/WebKitFormClient.h
141    UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp
142    UIProcess/API/gtk/WebKitFormSubmissionRequest.h
143    UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h
144    UIProcess/API/gtk/WebKitForwardDeclarations.h
145    UIProcess/API/gtk/WebKitFullscreenClient.cpp
146    UIProcess/API/gtk/WebKitFullscreenClient.h
147    UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp
148    UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h
149    UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h
150    UIProcess/API/gtk/WebKitGeolocationProvider.cpp
151    UIProcess/API/gtk/WebKitGeolocationProvider.h
152    UIProcess/API/gtk/WebKitHitTestResult.cpp
153    UIProcess/API/gtk/WebKitHitTestResult.h
154    UIProcess/API/gtk/WebKitHitTestResultPrivate.h
155    UIProcess/API/gtk/WebKitInjectedBundleClient.cpp
156    UIProcess/API/gtk/WebKitInjectedBundleClient.h
157    UIProcess/API/gtk/WebKitJavascriptResult.cpp
158    UIProcess/API/gtk/WebKitJavascriptResult.h
159    UIProcess/API/gtk/WebKitJavascriptResultPrivate.h
160    UIProcess/API/gtk/WebKitLoaderClient.cpp
161    UIProcess/API/gtk/WebKitLoaderClient.h
162    UIProcess/API/gtk/WebKitMimeInfo.cpp
163    UIProcess/API/gtk/WebKitMimeInfo.h
164    UIProcess/API/gtk/WebKitMimeInfoPrivate.h
165    UIProcess/API/gtk/WebKitNavigationAction.cpp
166    UIProcess/API/gtk/WebKitNavigationAction.h
167    UIProcess/API/gtk/WebKitNavigationActionPrivate.h
168    UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp
169    UIProcess/API/gtk/WebKitNavigationPolicyDecision.h
170    UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h
171    UIProcess/API/gtk/WebKitPermissionRequest.cpp
172    UIProcess/API/gtk/WebKitPermissionRequest.h
173    UIProcess/API/gtk/WebKitPlugin.cpp
174    UIProcess/API/gtk/WebKitPlugin.h
175    UIProcess/API/gtk/WebKitPluginPrivate.h
176    UIProcess/API/gtk/WebKitPolicyClient.cpp
177    UIProcess/API/gtk/WebKitPolicyClient.h
178    UIProcess/API/gtk/WebKitPolicyDecision.cpp
179    UIProcess/API/gtk/WebKitPolicyDecision.h
180    UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h
181    UIProcess/API/gtk/WebKitPrintOperation.cpp
182    UIProcess/API/gtk/WebKitPrintOperation.h
183    UIProcess/API/gtk/WebKitPrintOperationPrivate.h
184    UIProcess/API/gtk/WebKitPrivate.cpp
185    UIProcess/API/gtk/WebKitPrivate.h
186    UIProcess/API/gtk/WebKitRequestManagerClient.cpp
187    UIProcess/API/gtk/WebKitRequestManagerClient.h
188    UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp
189    UIProcess/API/gtk/WebKitResponsePolicyDecision.h
190    UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h
191    UIProcess/API/gtk/WebKitScriptDialog.cpp
192    UIProcess/API/gtk/WebKitScriptDialog.h
193    UIProcess/API/gtk/WebKitScriptDialogPrivate.h
194    UIProcess/API/gtk/WebKitSecurityManager.cpp
195    UIProcess/API/gtk/WebKitSecurityManager.h
196    UIProcess/API/gtk/WebKitSecurityManagerPrivate.h
197    UIProcess/API/gtk/WebKitSettings.cpp
198    UIProcess/API/gtk/WebKitSettings.h
199    UIProcess/API/gtk/WebKitSettingsPrivate.h
200    UIProcess/API/gtk/WebKitTextChecker.cpp
201    UIProcess/API/gtk/WebKitTextChecker.h
202    UIProcess/API/gtk/WebKitUIClient.cpp
203    UIProcess/API/gtk/WebKitUIClient.h
204    UIProcess/API/gtk/WebKitURIRequest.cpp
205    UIProcess/API/gtk/WebKitURIRequest.h
206    UIProcess/API/gtk/WebKitURIRequestPrivate.h
207    UIProcess/API/gtk/WebKitURIResponse.cpp
208    UIProcess/API/gtk/WebKitURIResponse.h
209    UIProcess/API/gtk/WebKitURIResponsePrivate.h
210    UIProcess/API/gtk/WebKitURISchemeRequest.cpp
211    UIProcess/API/gtk/WebKitURISchemeRequest.h
212    UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h
213    UIProcess/API/gtk/WebKitUserContent.h
214    UIProcess/API/gtk/WebKitUserContent.cpp
215    UIProcess/API/gtk/WebKitUserContentPrivate.h
216    UIProcess/API/gtk/WebKitUserContentManager.h
217    UIProcess/API/gtk/WebKitUserContentManagerPrivate.h
218    UIProcess/API/gtk/WebKitUserContentManager.cpp
219    UIProcess/API/gtk/WebKitVersion.cpp
220    UIProcess/API/gtk/WebKitVersion.h.in
221    UIProcess/API/gtk/WebKitWebContext.cpp
222    UIProcess/API/gtk/WebKitWebContext.h
223    UIProcess/API/gtk/WebKitWebContextPrivate.h
224    UIProcess/API/gtk/WebKitWebInspector.cpp
225    UIProcess/API/gtk/WebKitWebInspector.h
226    UIProcess/API/gtk/WebKitWebInspectorPrivate.h
227    UIProcess/API/gtk/WebKitWebResource.cpp
228    UIProcess/API/gtk/WebKitWebResource.h
229    UIProcess/API/gtk/WebKitWebResourcePrivate.h
230    UIProcess/API/gtk/WebKitWebView.cpp
231    UIProcess/API/gtk/WebKitWebView.h
232    UIProcess/API/gtk/WebKitWebViewBase.cpp
233    UIProcess/API/gtk/WebKitWebViewBase.h
234    UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp
235    UIProcess/API/gtk/WebKitWebViewBaseAccessible.h
236    UIProcess/API/gtk/WebKitWebViewBasePrivate.h
237    UIProcess/API/gtk/WebKitWebViewGroup.cpp
238    UIProcess/API/gtk/WebKitWebViewGroup.h
239    UIProcess/API/gtk/WebKitWebViewGroupPrivate.h
240    UIProcess/API/gtk/WebKitWebViewPrivate.h
241    UIProcess/API/gtk/WebKitWindowProperties.cpp
242    UIProcess/API/gtk/WebKitWindowProperties.h
243    UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h
244    UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp
245    UIProcess/API/gtk/WebViewBaseInputMethodFilter.h
246    UIProcess/API/gtk/webkit2.h
247
248    UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp
249
250    UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp
251
252    UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp
253
254    UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp
255    UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp
256    UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp
257
258    UIProcess/Plugins/gtk/PluginInfoCache.cpp
259
260    UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp
261    UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp
262
263    UIProcess/Storage/StorageManager.cpp
264
265    UIProcess/cairo/BackingStoreCairo.cpp
266
267    UIProcess/gtk/ExperimentalFeatures.cpp
268    UIProcess/gtk/TextCheckerGtk.cpp
269    UIProcess/gtk/WebContextGtk.cpp
270    UIProcess/gtk/WebContextMenuProxyGtk.cpp
271    UIProcess/gtk/WebFullScreenClientGtk.cpp
272    UIProcess/gtk/WebInspectorClientGtk.cpp
273    UIProcess/gtk/WebInspectorProxyGtk.cpp
274    UIProcess/gtk/WebPageProxyGtk.cpp
275    UIProcess/gtk/WebPopupMenuProxyGtk.cpp
276    UIProcess/gtk/WebPreferencesGtk.cpp
277    UIProcess/gtk/WebProcessProxyGtk.cpp
278
279    UIProcess/Network/soup/NetworkProcessProxySoup.cpp
280    UIProcess/soup/WebContextSoup.cpp
281    UIProcess/soup/WebCookieManagerProxySoup.cpp
282
283    WebProcess/Cookies/soup/WebCookieManagerSoup.cpp
284    WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp
285
286    WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp
287    WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.cpp
288    WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp
289    WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp
290
291    WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp
292
293    WebProcess/Plugins/Netscape/unix/PluginProxyUnix.cpp
294
295    WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
296
297    WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp
298    WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp
299    WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp
300    WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp
301    WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp
302
303    WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
304
305    WebProcess/WebPage/DrawingAreaImpl.cpp
306
307    WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp
308
309    WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
310    WebProcess/WebPage/gtk/PrinterListGtk.cpp
311    WebProcess/WebPage/gtk/WebInspectorGtk.cpp
312    WebProcess/WebPage/gtk/WebPageGtk.cpp
313    WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp
314
315    WebProcess/gtk/WebGtkExtensionManager.cpp
316    WebProcess/gtk/WebGtkInjectedBundleMain.cpp
317    WebProcess/gtk/WebProcessMainGtk.cpp
318
319    WebProcess/soup/WebKitSoupRequestGeneric.cpp
320    WebProcess/soup/WebKitSoupRequestInputStream.cpp
321    WebProcess/soup/WebProcessSoup.cpp
322)
323
324set(WebKit2GTK_INSTALLED_HEADERS
325    ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.h
326    ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitVersion.h
327    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitAuthenticationRequest.h
328    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitBackForwardList.h
329    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitBackForwardListItem.h
330    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitCertificateInfo.h
331    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitCredential.h
332    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitContextMenu.h
333    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitContextMenuActions.h
334    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitContextMenuItem.h
335    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitCookieManager.h
336    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitDefines.h
337    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitDownload.h
338    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEditingCommands.h
339    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitError.h
340    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitFaviconDatabase.h
341    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitFileChooserRequest.h
342    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitFindController.h
343    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitFormSubmissionRequest.h
344    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitForwardDeclarations.h
345    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h
346    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitHitTestResult.h
347    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitJavascriptResult.h
348    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitMimeInfo.h
349    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitNavigationAction.h
350    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitNavigationPolicyDecision.h
351    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitPermissionRequest.h
352    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitPlugin.h
353    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitPolicyDecision.h
354    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitPrintOperation.h
355    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitResponsePolicyDecision.h
356    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitScriptDialog.h
357    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitSecurityManager.h
358    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitSettings.h
359    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitURIRequest.h
360    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitURIResponse.h
361    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitURISchemeRequest.h
362    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitUserContent.h
363    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitUserContentManager.h
364    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebContext.h
365    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebInspector.h
366    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebResource.h
367    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebView.h
368    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebViewBase.h
369    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebViewGroup.h
370    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWindowProperties.h
371    ${WEBKIT2_DIR}/UIProcess/API/gtk/webkit2.h
372)
373
374set(WebKit2WebExtension_INSTALLED_HEADERS
375    ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/WebKitFrame.h
376    ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/WebKitScriptWorld.h
377    ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h
378    ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h
379    ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h
380)
381
382file(GLOB InspectorFiles
383    ${CMAKE_SOURCE_DIR}/Source/Localizations/en.lproj/localizedStrings.js
384    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/*.html
385    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Base/*.js
386    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Controllers/*.css
387    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Controllers/*.js
388    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/External/CodeMirror/*
389    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Models/*.js
390    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Protocol/*.js
391    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Views/*.css
392    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Views/*.js
393    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Images/*.png
394    ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Images/*.svg
395    ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol/InspectorJSBackendCommands.js
396    ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol/InspectorWebBackendCommands.js
397)
398
399# This is necessary because of a conflict between the GTK+ API WebKitVersion.h and one generated by WebCore.
400list(INSERT WebKit2_INCLUDE_DIRECTORIES 0
401    "${FORWARDING_HEADERS_WEBKIT2GTK_DIR}"
402    "${FORWARDING_HEADERS_WEBKIT2GTK_EXTENSION_DIR}"
403    "${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}"
404    "${DERIVED_SOURCES_WEBKIT2GTK_DIR}"
405)
406
407list(APPEND WebKit2_INCLUDE_DIRECTORIES
408    "${WEBCORE_DIR}/platform/cairo"
409    "${WEBCORE_DIR}/platform/gtk"
410    "${WEBCORE_DIR}/platform/graphics/cairo"
411    "${WEBCORE_DIR}/platform/graphics/opentype"
412    "${WEBCORE_DIR}/platform/network/soup"
413    "${WEBCORE_DIR}/platform/text/enchant"
414    "${WEBKIT2_DIR}/NetworkProcess/gtk"
415    "${WEBKIT2_DIR}/NetworkProcess/unix"
416    "${WEBKIT2_DIR}/Shared/API/c/gtk"
417    "${WEBKIT2_DIR}/Shared/Network/CustomProtocols/soup"
418    "${WEBKIT2_DIR}/Shared/Downloads/soup"
419    "${WEBKIT2_DIR}/Shared/gtk"
420    "${WEBKIT2_DIR}/Shared/soup"
421    "${WEBKIT2_DIR}/Shared/unix"
422    "${WEBKIT2_DIR}/UIProcess/API/C/cairo"
423    "${WEBKIT2_DIR}/UIProcess/API/C/gtk"
424    "${WEBKIT2_DIR}/UIProcess/API/C/soup"
425    "${WEBKIT2_DIR}/UIProcess/API/cpp/gtk"
426    "${WEBKIT2_DIR}/UIProcess/API/gtk"
427    "${WEBKIT2_DIR}/UIProcess/Network/CustomProtocols/soup"
428    "${WEBKIT2_DIR}/UIProcess/Plugins/gtk"
429    "${WEBKIT2_DIR}/UIProcess/gtk"
430    "${WEBKIT2_DIR}/UIProcess/soup"
431    "${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk"
432    "${WEBKIT2_DIR}/WebProcess/gtk"
433    "${WEBKIT2_DIR}/WebProcess/soup"
434    "${WEBKIT2_DIR}/WebProcess/unix"
435    "${WEBKIT2_DIR}/WebProcess/WebCoreSupport/gtk"
436    "${WEBKIT2_DIR}/WebProcess/WebCoreSupport/soup"
437    "${WEBKIT2_DIR}/WebProcess/WebPage/atk"
438    "${WEBKIT2_DIR}/WebProcess/WebPage/gtk"
439    "${WTF_DIR}/wtf/gtk/"
440    "${WTF_DIR}/wtf/gobject"
441    ${WTF_DIR}
442    ${CAIRO_INCLUDE_DIRS}
443    ${ENCHANT_INCLUDE_DIRS}
444    ${GEOCLUE_INCLUDE_DIRS}
445    ${HARFBUZZ_INCLUDE_DIRS}
446    ${LIBSOUP_INCLUDE_DIRS}
447)
448
449set(WebKit2CommonIncludeDirectories ${WebKit2_INCLUDE_DIRECTORIES})
450
451list(APPEND WebKit2_INCLUDE_DIRECTORIES
452    ${GLIB_INCLUDE_DIRS}
453    ${GTK_INCLUDE_DIRS}
454    ${GTK_UNIX_PRINT_INCLUDE_DIRS}
455)
456
457list(APPEND WebProcess_SOURCES
458    WebProcess/EntryPoint/unix/WebProcessMain.cpp
459)
460
461list(APPEND NetworkProcess_SOURCES
462    NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp
463)
464
465set(SharedWebKit2Libraries
466    ${WebKit2_LIBRARIES}
467)
468
469list(APPEND WebKit2_LIBRARIES
470    GObjectDOMBindings
471    WebCorePlatformGTK
472    ${GTK_UNIX_PRINT_LIBRARIES}
473)
474ADD_WHOLE_ARCHIVE_TO_LIBRARIES(WebKit2_LIBRARIES)
475
476set(WebKit2_MARSHAL_LIST ${WEBKIT2_DIR}/UIProcess/API/gtk/webkit2marshal.list)
477add_custom_command(
478    OUTPUT ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitMarshal.cpp
479           ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitMarshal.h
480    MAIN_DEPENDENCY ${WebKit2_MARSHAL_LIST}
481
482    COMMAND echo extern \"C\" { > ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitMarshal.cpp
483    COMMAND glib-genmarshal --prefix=webkit_marshal ${WebKit2_MARSHAL_LIST} --body >> ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitMarshal.cpp
484    COMMAND echo } >> ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitMarshal.cpp
485
486    COMMAND glib-genmarshal --prefix=webkit_marshal ${WebKit2_MARSHAL_LIST} --header > ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitMarshal.h
487    VERBATIM)
488
489# To generate WebKitEnumTypes.h we want to use all installed headers, except WebKitEnumTypes.h itself.
490set(WebKit2GTK_ENUM_GENERATION_HEADERS ${WebKit2GTK_INSTALLED_HEADERS})
491list(REMOVE_ITEM WebKit2GTK_ENUM_GENERATION_HEADERS ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.h)
492add_custom_command(
493    OUTPUT ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.h
494           ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.cpp
495    DEPENDS ${WebKit2GTK_ENUM_GENERATION_HEADERS}
496
497    COMMAND glib-mkenums --template ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEnumTypes.h.template ${WebKit2GTK_ENUM_GENERATION_HEADERS} | sed s/web_kit/webkit/ | sed s/WEBKIT_TYPE_KIT/WEBKIT_TYPE/ > ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.h
498
499    COMMAND glib-mkenums --template ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEnumTypes.cpp.template ${WebKit2GTK_ENUM_GENERATION_HEADERS} | sed s/web_kit/webkit/ > ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}/WebKitEnumTypes.cpp
500    VERBATIM)
501
502add_custom_command(
503    OUTPUT ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.xml
504    DEPENDS ${InspectorFiles}
505            ${TOOLS_DIR}/gtk/generate-inspector-gresource-manifest.py
506    COMMAND ${TOOLS_DIR}/gtk/generate-inspector-gresource-manifest.py --output=${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.xml ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}
507    VERBATIM
508)
509
510add_custom_command(
511    OUTPUT ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.c
512    DEPENDS ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.xml
513    COMMAND glib-compile-resources --generate --sourcedir=${CMAKE_SOURCE_DIR}/Source/WebInspectorUI --sourcedir=${DERIVED_SOURCES_WEBINSPECTORUI_DIR} --target=${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.c ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.xml
514    VERBATIM
515)
516
517add_custom_command(
518    OUTPUT ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/WebKit2InspectorGResourceBundle.c
519    DEPENDS ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKit2InspectorGResourceBundle.xml
520            ${WEBKIT2_DIR}/UIProcess/InspectorServer/front-end/inspectorPageIndex.html
521    COMMAND glib-compile-resources --generate --sourcedir=${WEBKIT2_DIR}/UIProcess/InspectorServer/front-end --target=${DERIVED_SOURCES_WEBKIT2GTK_DIR}/WebKit2InspectorGResourceBundle.c ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKit2InspectorGResourceBundle.xml
522    VERBATIM
523)
524
525set(WebKit2Resources
526    "        <file alias=\"images/deleteButton\">deleteButton.png</file>\n"
527    "        <file alias=\"images/deleteButton@2x\">deleteButton@2x.png</file>\n"
528    "        <file alias=\"images/missingImage\">missingImage.png</file>\n"
529    "        <file alias=\"images/missingImage@2x\">missingImage@2x.png</file>\n"
530    "        <file alias=\"images/panIcon\">panIcon.png</file>\n"
531    "        <file alias=\"images/textAreaResizeCorner\">textAreaResizeCorner.png</file>\n"
532    "        <file alias=\"images/textAreaResizeCorner@2x\">textAreaResizeCorner@2x.png</file>\n"
533)
534
535if (ENABLE_ICONDATABASE)
536    list(APPEND WebKit2Resources
537        "        <file alias=\"images/urlIcon\">urlIcon.png</file>\n"
538    )
539endif ()
540
541if (ENABLE_INPUT_SPEECH)
542    list(APPEND WebKit2Resources
543        "        <file alias=\"images/inputSpeech\">inputSpeech.png</file>\n"
544    )
545endif ()
546
547if (ENABLE_WEB_AUDIO)
548    list(APPEND WebKit2Resources
549        "        <file alias=\"audio/Composite\">Composite.wav</file>\n"
550    )
551endif ()
552
553file(WRITE ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/WebKit2ResourcesGResourceBundle.xml
554    "<?xml version=1.0 encoding=UTF-8?>\n"
555    "<gresources>\n"
556    "    <gresource prefix=\"/org/webkitgtk/resources\">\n"
557    ${WebKit2Resources}
558    "    </gresource>\n"
559    "</gresources>\n"
560)
561
562add_custom_command(
563    OUTPUT ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/WebKit2ResourcesGResourceBundle.c
564    DEPENDS ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/WebKit2ResourcesGResourceBundle.xml
565    COMMAND glib-compile-resources --generate --sourcedir=${CMAKE_SOURCE_DIR}/Source/WebCore/Resources --sourcedir=${CMAKE_SOURCE_DIR}/Source/WebCore/platform/audio/resources --target=${DERIVED_SOURCES_WEBKIT2GTK_DIR}/WebKit2ResourcesGResourceBundle.c ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/WebKit2ResourcesGResourceBundle.xml
566    VERBATIM
567)
568
569add_custom_target(webkit2gtk-forwarding-headers
570    COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${WEBKIT2_DIR} ${FORWARDING_HEADERS_DIR} gtk
571    COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${WEBKIT2_DIR} ${FORWARDING_HEADERS_DIR} soup
572
573    # These symbolic link allows includes like #include <webkit2/WebkitWebView.h> which simulates installed headers.
574    COMMAND ln -n -s -f ${WEBKIT2_DIR}/UIProcess/API/gtk ${FORWARDING_HEADERS_WEBKIT2GTK_DIR}/webkit2
575    COMMAND ln -n -s -f ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk ${FORWARDING_HEADERS_WEBKIT2GTK_EXTENSION_DIR}/webkit2
576)
577
578set(WEBKIT2_EXTRA_DEPENDENCIES
579     webkit2gtk-forwarding-headers
580)
581
582if (ENABLE_PLUGIN_PROCESS)
583    set(PluginProcessGTK2_EXECUTABLE_NAME WebKitPluginProcess2)
584    list(APPEND PluginProcessGTK2_INCLUDE_DIRECTORIES
585        "${WEBKIT2_DIR}/PluginProcess/unix"
586    )
587
588    include_directories(${PluginProcessGTK2_INCLUDE_DIRECTORIES})
589
590    # FIXME: We should figure out a way to avoid compiling files that are common between the plugin
591    # process and WebKit2 only once instead of recompiling them for the plugin process.
592    list(APPEND PluginProcessGTK2_SOURCES
593        Platform/Logging.cpp
594        Platform/Module.cpp
595        Platform/WorkQueue.cpp
596
597        Platform/IPC/ArgumentCoders.cpp
598        Platform/IPC/ArgumentDecoder.cpp
599        Platform/IPC/ArgumentEncoder.cpp
600        Platform/IPC/Attachment.cpp
601        Platform/IPC/Connection.cpp
602        Platform/IPC/DataReference.cpp
603        Platform/IPC/MessageDecoder.cpp
604        Platform/IPC/MessageEncoder.cpp
605        Platform/IPC/MessageReceiverMap.cpp
606        Platform/IPC/MessageSender.cpp
607        Platform/IPC/StringReference.cpp
608
609        Platform/IPC/unix/AttachmentUnix.cpp
610        Platform/IPC/unix/ConnectionUnix.cpp
611
612        Platform/gtk/LoggingGtk.cpp
613        Platform/gtk/ModuleGtk.cpp
614        Platform/gtk/WorkQueueGtk.cpp
615
616        Platform/unix/SharedMemoryUnix.cpp
617
618        PluginProcess/EntryPoint/unix/PluginProcessMain.cpp
619
620        PluginProcess/PluginControllerProxy.cpp
621        PluginProcess/PluginCreationParameters.cpp
622        PluginProcess/PluginProcess.cpp
623        PluginProcess/WebProcessConnection.cpp
624
625        PluginProcess/unix/PluginControllerProxyUnix.cpp
626        PluginProcess/unix/PluginProcessMainUnix.cpp
627        PluginProcess/unix/PluginProcessUnix.cpp
628
629        Shared/ActivityAssertion.cpp
630        Shared/BlobDataFileReferenceWithSandboxExtension.cpp
631        Shared/ChildProcess.cpp
632        Shared/ChildProcessProxy.cpp
633        Shared/ConnectionStack.cpp
634        Shared/ShareableBitmap.cpp
635        Shared/WebCoreArgumentCoders.cpp
636        Shared/WebEvent.cpp
637        Shared/WebKeyboardEvent.cpp
638        Shared/WebKit2Initialize.cpp
639        Shared/WebMouseEvent.cpp
640        Shared/WebPlatformTouchPoint.cpp
641        Shared/WebTouchEvent.cpp
642        Shared/WebWheelEvent.cpp
643
644        Shared/Plugins/NPIdentifierData.cpp
645        Shared/Plugins/NPObjectMessageReceiver.cpp
646        Shared/Plugins/NPObjectProxy.cpp
647        Shared/Plugins/NPRemoteObjectMap.cpp
648        Shared/Plugins/NPVariantData.cpp
649        Shared/Plugins/PluginProcessCreationParameters.cpp
650
651        Shared/Plugins/Netscape/NetscapePluginModule.cpp
652        Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp
653
654        Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
655
656        Shared/cairo/ShareableBitmapCairo.cpp
657
658        Shared/gtk/NativeWebKeyboardEventGtk.cpp
659        Shared/gtk/NativeWebMouseEventGtk.cpp
660        Shared/gtk/NativeWebTouchEventGtk.cpp
661        Shared/gtk/NativeWebWheelEventGtk.cpp
662        Shared/gtk/ProcessExecutablePathGtk.cpp
663        Shared/gtk/WebEventFactory.cpp
664
665        Shared/soup/WebCoreArgumentCodersSoup.cpp
666
667        Shared/unix/ChildProcessMain.cpp
668
669        UIProcess/Launcher/ProcessLauncher.cpp
670
671        UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp
672
673        UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp
674
675        WebProcess/Plugins/Plugin.cpp
676
677        WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp
678        WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
679        WebProcess/Plugins/Netscape/NetscapePlugin.cpp
680        WebProcess/Plugins/Netscape/NetscapePluginNone.cpp
681        WebProcess/Plugins/Netscape/NetscapePluginStream.cpp
682
683        WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
684
685        ${DERIVED_SOURCES_WEBKIT2_DIR}/PluginControllerProxyMessageReceiver.cpp
686        ${DERIVED_SOURCES_WEBKIT2_DIR}/PluginProcessMessageReceiver.cpp
687        ${DERIVED_SOURCES_WEBKIT2_DIR}/WebProcessConnectionMessageReceiver.cpp
688
689        ${DERIVED_SOURCES_WEBKIT2_DIR}/NPObjectMessageReceiverMessageReceiver.cpp
690    )
691
692    add_executable(WebKitPluginProcess2 ${PluginProcessGTK2_SOURCES})
693    add_webkit2_prefix_header(WebKitPluginProcess2)
694
695    # We need ENABLE_PLUGIN_PROCESS for all targets in this directory, but
696    # we only want GTK_API_VERSION_2 for the plugin process target.
697    set_property(
698        TARGET WebKitPluginProcess2
699        APPEND
700        PROPERTY COMPILE_DEFINITIONS GTK_API_VERSION_2=1
701    )
702    set_property(
703        TARGET WebKitPluginProcess2
704        APPEND
705        PROPERTY INCLUDE_DIRECTORIES
706            ${WebKit2CommonIncludeDirectories}
707            ${GTK2_INCLUDE_DIRS}
708            ${GDK2_INCLUDE_DIRS}
709    )
710
711    set(WebKitPluginProcess2_LIBRARIES
712        ${SharedWebKit2Libraries}
713        WebCorePlatformGTK2
714    )
715    ADD_WHOLE_ARCHIVE_TO_LIBRARIES(WebKitPluginProcess2_LIBRARIES)
716    target_link_libraries(WebKitPluginProcess2 ${WebKitPluginProcess2_LIBRARIES})
717
718    add_dependencies(WebKitPluginProcess2 WebKit2)
719
720    install(TARGETS WebKitPluginProcess2 DESTINATION "${LIBEXEC_INSTALL_DIR}")
721
722    # GTK3 PluginProcess
723    list(APPEND PluginProcess_SOURCES
724        PluginProcess/EntryPoint/unix/PluginProcessMain.cpp
725    )
726
727endif () # ENABLE_PLUGIN_PROCESS
728
729# Commands for building the built-in injected bundle.
730include_directories(
731    "${WEBKIT2_DIR}/Platform"
732    "${WEBKIT2_DIR}/Shared"
733    "${WEBKIT2_DIR}/Shared/API/c"
734    "${WEBKIT2_DIR}/UIProcess/API/C"
735    "${WEBKIT2_DIR}/WebProcess/InjectedBundle"
736    "${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/c"
737    "${DERIVED_SOURCES_DIR}"
738    "${DERIVED_SOURCES_DIR}/InjectedBundle"
739    "${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}"
740    "${FORWARDING_HEADERS_DIR}"
741    "${FORWARDING_HEADERS_WEBKIT2GTK_DIR}"
742)
743
744add_library(webkit2gtkinjectedbundle MODULE "${WEBKIT2_DIR}/WebProcess/gtk/WebGtkInjectedBundleMain.cpp")
745add_dependencies(webkit2gtkinjectedbundle GObjectDOMBindings)
746add_webkit2_prefix_header(webkit2gtkinjectedbundle)
747
748add_custom_command(
749    OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
750    DEPENDS WebKit2
751    DEPENDS JavaScriptCore-3-gir
752    COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
753        ${INTROSPECTION_SCANNER}
754        --quiet
755        --warn-all
756        --symbol-prefix=webkit
757        --identifier-prefix=WebKit
758        --namespace=WebKit2
759        --nsversion=${WEBKITGTK_API_VERSION}
760        --include=GObject-2.0
761        --include=Gtk-${WEBKITGTK_API_VERSION}
762        --include=Soup-2.4
763        --include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
764        --library=webkit2gtk-${WEBKITGTK_API_VERSION}
765        --library=javascriptcoregtk-${WEBKITGTK_API_VERSION}
766        -L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
767        --no-libtool
768        --pkg=gobject-2.0
769        --pkg=gtk+-${WEBKITGTK_API_VERSION}
770        --pkg=libsoup-2.4
771        --pkg-export=webkit2gtk-${WEBKITGTK_API_VERSION}
772        --output=${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
773        --c-include="webkit2/webkit2.h"
774        -DBUILDING_WEBKIT
775        -DWEBKIT2_COMPILATION
776        -I${CMAKE_SOURCE_DIR}/Source
777        -I${WEBKIT2_DIR}
778        -I${JAVASCRIPTCORE_DIR}/ForwardingHeaders
779        -I${DERIVED_SOURCES_DIR}
780        -I${DERIVED_SOURCES_WEBKIT2GTK_DIR}
781        -I${FORWARDING_HEADERS_WEBKIT2GTK_DIR}
782        ${WebKit2GTK_INSTALLED_HEADERS}
783        ${WEBKIT2_DIR}/UIProcess/API/gtk/*.cpp
784)
785
786add_custom_command(
787    OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
788    DEPENDS JavaScriptCore-3-gir
789    DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
790    COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
791        ${INTROSPECTION_SCANNER}
792        --quiet
793        --warn-all
794        --symbol-prefix=webkit
795        --identifier-prefix=WebKit
796        --namespace=WebKit2WebExtension
797        --nsversion=${WEBKITGTK_API_VERSION}
798        --include=GObject-2.0
799        --include=Gtk-${WEBKITGTK_API_VERSION}
800        --include=Soup-2.4
801        --include-uninstalled=${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
802        --library=webkit2gtk-${WEBKITGTK_API_VERSION}
803        --library=javascriptcoregtk-${WEBKITGTK_API_VERSION}
804        -L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
805        --no-libtool
806        --pkg=gobject-2.0
807        --pkg=gtk+-${WEBKITGTK_API_VERSION}
808        --pkg=libsoup-2.4
809        --pkg-export=webkit2gtk-web-extension-${WEBKITGTK_API_VERSION}
810        --output=${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
811        --c-include="webkit2/webkit-web-extension.h"
812        -DBUILDING_WEBKIT
813        -DWEBKIT2_COMPILATION
814        -I${CMAKE_SOURCE_DIR}/Source
815        -I${WEBKIT2_DIR}
816        -I${JAVASCRIPTCORE_DIR}/ForwardingHeaders
817        -I${DERIVED_SOURCES_DIR}
818        -I${DERIVED_SOURCES_WEBKIT2GTK_DIR}
819        -I${FORWARDING_HEADERS_DIR}
820        -I${FORWARDING_HEADERS_WEBKIT2GTK_DIR}
821        -I${FORWARDING_HEADERS_WEBKIT2GTK_EXTENSION_DIR}
822        -I${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk
823        ${GObjectDOMBindings_GIR_HEADERS}
824        ${WebKit2WebExtension_INSTALLED_HEADERS}
825        ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitURIRequest.h
826        ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitURIResponse.h
827        ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/*.cpp
828)
829
830add_custom_command(
831    OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
832    DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
833    COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
834)
835
836add_custom_command(
837    OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.typelib
838    DEPENDS ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
839    COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.typelib
840)
841
842ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib)
843ADD_TYPELIB(${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.typelib)
844
845install(TARGETS webkit2gtkinjectedbundle
846        DESTINATION "${LIB_INSTALL_DIR}/webkit2gtk-${WEBKITGTK_API_VERSION}/injected-bundle"
847)
848install(FILES "${CMAKE_BINARY_DIR}/Source/WebKit2/webkit2gtk-${WEBKITGTK_API_VERSION}.pc"
849              "${CMAKE_BINARY_DIR}/Source/WebKit2/webkit2gtk-web-extension-${WEBKITGTK_API_VERSION}.pc"
850        DESTINATION "${LIB_INSTALL_DIR}/pkgconfig"
851)
852install(FILES ${WebKit2GTK_INSTALLED_HEADERS}
853              ${WebKit2WebExtension_INSTALLED_HEADERS}
854        DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/webkit2"
855)
856install(FILES ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
857              ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
858        DESTINATION ${INTROSPECTION_INSTALL_GIRDIR}
859)
860install(FILES ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
861              ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.typelib
862        DESTINATION ${INTROSPECTION_INSTALL_TYPELIBDIR}
863)
864
865file(WRITE ${CMAKE_BINARY_DIR}/gtkdoc-webkit2gtk.cfg
866    "[webkit2gtk]\n"
867    "pkgconfig_file=${WebKit2_PKGCONFIG_FILE}\n"
868    "namespace=webkit\n"
869    "cflags=-I${CMAKE_SOURCE_DIR}/Source\n"
870    "       -I${WEBKIT2_DIR}/UIProcess/API/gtk\n"
871    "       -I${DERIVED_SOURCES_WEBKIT2GTK_DIR}\n"
872    "       -I${FORWARDING_HEADERS_WEBKIT2GTK_DIR}\n"
873    "doc_dir=${WEBKIT2_DIR}/UIProcess/API/gtk/docs\n"
874    "source_dirs=${WEBKIT2_DIR}/UIProcess/API/gtk\n"
875    "            ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk\n"
876    "            ${DERIVED_SOURCES_WEBKIT2GTK_API_DIR}\n"
877    "headers=${WebKit2GTK_ENUM_GENERATION_HEADERS} ${WebKit2WebExtension_INSTALLED_HEADERS}\n"
878)
879