1set(DERIVED_SOURCES_WEBKIT2GTK_DIR ${DERIVED_SOURCES_DIR}/webkit2gtk)
2set(WEBKIT2_BUILT_API_DIR ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/webkit2)
3set(WEBKIT2_FORWARDING_HEADERS_DIR ${DERIVED_SOURCES_DIR}/ForwardingHeaders/webkit2gtk)
4
5file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKIT2_DIR})
6file(MAKE_DIRECTORY ${WEBKIT2_BUILT_API_DIR})
7file(MAKE_DIRECTORY ${WEBKIT2_FORWARDING_HEADERS_DIR})
8
9configure_file(UIProcess/API/gtk/WebKitVersion.h.in ${WEBKIT2_BUILT_API_DIR}/WebKitVersion.h)
10
11add_definitions(-DWEBKIT2_COMPILATION)
12add_definitions(-DLIBEXECDIR="${CMAKE_INSTALL_FULL_LIBEXECDIR}")
13add_definitions(-DPACKAGE_LOCALE_DIR="${CMAKE_INSTALL_FULL_LOCALEDIR}")
14add_definitions(-DLIBDIR="${CMAKE_INSTALL_FULL_LIBDIR}")
15
16list(APPEND WebKit2_SOURCES
17    ${WEBKIT2_BUILT_API_DIR}/WebKitMarshal.cpp
18    ${WEBKIT2_BUILT_API_DIR}/WebKitEnumTypes.cpp
19    Platform/gtk/LoggingGtk.cpp
20    Platform/gtk/ModuleGtk.cpp
21    Platform/gtk/WorkQueueGtk.cpp
22    Platform/unix/SharedMemoryUnix.cpp
23    WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp
24    WebProcess/WebPage/gtk/WebPageGtk.cpp
25    WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
26    WebProcess/WebPage/gtk/WebInspectorGtk.cpp
27    WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp
28    WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp
29    WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp
30    WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp
31    WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp
32    WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp
33    UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp
34    UIProcess/API/C/gtk/WKInspectorClientGtk.cpp
35    UIProcess/gtk/WebContextMenuProxyGtk.cpp
36    UIProcess/gtk/WebContextGtk.cpp
37    UIProcess/gtk/WebPageProxyGtk.cpp
38    UIProcess/gtk/WebPreferencesGtk.cpp
39    UIProcess/gtk/WebFullScreenClientGtk.cpp
40    UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp
41    UIProcess/gtk/WebInspectorProxyGtk.cpp
42    UIProcess/gtk/TextCheckerGtk.cpp
43    UIProcess/gtk/WebPopupMenuProxyGtk.cpp
44    UIProcess/gtk/WebInspectorClientGtk.cpp
45    UIProcess/gtk/WebProcessProxyGtk.cpp
46    UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp
47    UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp
48
49    Shared/API/c/gtk/WKGraphicsContextGtk.cpp
50    Shared/Downloads/gtk/DownloadSoupErrorsGtk.cpp
51    Shared/gtk/ArgumentCodersGtk.cpp
52    Shared/gtk/LayerTreeContextGtk.cpp
53    Shared/gtk/NativeWebKeyboardEventGtk.cpp
54    Shared/gtk/NativeWebMouseEventGtk.cpp
55    Shared/gtk/NativeWebWheelEventGtk.cpp
56    Shared/gtk/PrintInfoGtk.cpp
57    Shared/gtk/ProcessExecutablePathGtk.cpp
58    Shared/gtk/WebEventFactory.cpp
59
60    Platform/CoreIPC/unix/ConnectionUnix.cpp
61    Platform/CoreIPC/unix/AttachmentUnix.cpp
62    PluginProcess/unix/PluginControllerProxyUnix.cpp
63    PluginProcess/unix/PluginProcessMainUnix.cpp
64    PluginProcess/unix/PluginProcessUnix.cpp
65    Shared/API/c/cairo/WKImageCairo.cpp
66    Shared/Downloads/soup/DownloadSoup.cpp
67    Shared/cairo/ShareableBitmapCairo.cpp
68    Shared/linux/SeccompFilters/OpenSyscall.cpp
69    Shared/linux/SeccompFilters/SigactionSyscall.cpp
70    Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp
71    Shared/linux/SeccompFilters/SeccompBroker.cpp
72    Shared/linux/SeccompFilters/SeccompFilters.cpp
73    Shared/linux/SeccompFilters/Syscall.cpp
74    Shared/linux/SeccompFilters/SyscallPolicy.cpp
75    Shared/linux/WebMemorySamplerLinux.cpp
76    Shared/soup/PlatformCertificateInfo.cpp
77    Shared/soup/WebCoreArgumentCodersSoup.cpp
78    UIProcess/DefaultUndoController.cpp
79    Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
80    UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp
81    UIProcess/API/C/CoordinatedGraphics/WKView.cpp
82    UIProcess/API/C/soup/WKContextSoup.cpp
83    UIProcess/API/C/soup/WKCookieManagerSoup.cpp
84    UIProcess/API/C/soup/WKSoupRequestManager.cpp
85    UIProcess/cairo/BackingStoreCairo.cpp
86    UIProcess/CoordinatedGraphics/WebView.cpp
87    UIProcess/CoordinatedGraphics/WebViewClient.cpp
88    UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp
89    UIProcess/soup/WebCookieManagerProxySoup.cpp
90    UIProcess/soup/WebSoupRequestManagerClient.cpp
91    UIProcess/soup/WebSoupRequestManagerProxy.cpp
92    UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp
93    UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp
94    UIProcess/Storage/StorageManager.cpp
95    WebProcess/Cookies/soup/WebCookieManagerSoup.cpp
96    WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp
97    WebProcess/Plugins/Netscape/unix/PluginProxyUnix.cpp
98    WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
99    WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
100    WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp
101    WebProcess/soup/WebProcessSoup.cpp
102    WebProcess/soup/WebSoupRequestManager.cpp
103    WebProcess/soup/WebKitSoupRequestGeneric.cpp
104    WebProcess/soup/WebKitSoupRequestInputStream.cpp
105
106    UIProcess/API/gtk/PageClientImpl.cpp
107    UIProcess/API/gtk/PageClientImpl.h
108    UIProcess/API/gtk/webkit2.h
109    UIProcess/API/gtk/WebKitAuthenticationDialog.cpp
110    UIProcess/API/gtk/WebKitAuthenticationDialog.h
111    UIProcess/API/gtk/WebKitBackForwardList.cpp
112    UIProcess/API/gtk/WebKitBackForwardList.h
113    UIProcess/API/gtk/WebKitBackForwardListItem.cpp
114    UIProcess/API/gtk/WebKitBackForwardListItem.h
115    UIProcess/API/gtk/WebKitBackForwardListPrivate.h
116    UIProcess/API/gtk/WebKitContextMenuActions.cpp
117    UIProcess/API/gtk/WebKitContextMenuActions.h
118    UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h
119    UIProcess/API/gtk/WebKitContextMenuClient.cpp
120    UIProcess/API/gtk/WebKitContextMenuClient.h
121    UIProcess/API/gtk/WebKitContextMenu.cpp
122    UIProcess/API/gtk/WebKitContextMenu.h
123    UIProcess/API/gtk/WebKitContextMenuItem.cpp
124    UIProcess/API/gtk/WebKitContextMenuItem.h
125    UIProcess/API/gtk/WebKitContextMenuItemPrivate.h
126    UIProcess/API/gtk/WebKitContextMenuPrivate.h
127    UIProcess/API/gtk/WebKitCookieManager.cpp
128    UIProcess/API/gtk/WebKitCookieManager.h
129    UIProcess/API/gtk/WebKitCookieManagerPrivate.h
130    UIProcess/API/gtk/WebKitDefines.h
131    UIProcess/API/gtk/WebKitDownloadClient.cpp
132    UIProcess/API/gtk/WebKitDownloadClient.h
133    UIProcess/API/gtk/WebKitDownload.cpp
134    UIProcess/API/gtk/WebKitDownload.h
135    UIProcess/API/gtk/WebKitDownloadPrivate.h
136    UIProcess/API/gtk/WebKitEditingCommands.h
137    UIProcess/API/gtk/WebKitError.cpp
138    UIProcess/API/gtk/WebKitError.h
139    UIProcess/API/gtk/WebKitFaviconDatabase.cpp
140    UIProcess/API/gtk/WebKitFaviconDatabase.h
141    UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h
142    UIProcess/API/gtk/WebKitFileChooserRequest.cpp
143    UIProcess/API/gtk/WebKitFileChooserRequest.h
144    UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h
145    UIProcess/API/gtk/WebKitFindController.cpp
146    UIProcess/API/gtk/WebKitFindController.h
147    UIProcess/API/gtk/WebKitFormClient.cpp
148    UIProcess/API/gtk/WebKitFormClient.h
149    UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp
150    UIProcess/API/gtk/WebKitFormSubmissionRequest.h
151    UIProcess/API/gtk/WebKitFormSubmissionRequestPrivate.h
152    UIProcess/API/gtk/WebKitForwardDeclarations.h
153    UIProcess/API/gtk/WebKitFullscreenClient.cpp
154    UIProcess/API/gtk/WebKitFullscreenClient.h
155    UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp
156    UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h
157    UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h
158    UIProcess/API/gtk/WebKitGeolocationProvider.cpp
159    UIProcess/API/gtk/WebKitGeolocationProvider.h
160    UIProcess/API/gtk/WebKitHitTestResult.cpp
161    UIProcess/API/gtk/WebKitHitTestResult.h
162    UIProcess/API/gtk/WebKitHitTestResultPrivate.h
163    UIProcess/API/gtk/WebKitInjectedBundleClient.cpp
164    UIProcess/API/gtk/WebKitInjectedBundleClient.h
165    UIProcess/API/gtk/WebKitJavascriptResult.cpp
166    UIProcess/API/gtk/WebKitJavascriptResult.h
167    UIProcess/API/gtk/WebKitJavascriptResultPrivate.h
168    UIProcess/API/gtk/WebKitLoaderClient.cpp
169    UIProcess/API/gtk/WebKitLoaderClient.h
170    UIProcess/API/gtk/WebKitMimeInfo.cpp
171    UIProcess/API/gtk/WebKitMimeInfo.h
172    UIProcess/API/gtk/WebKitMimeInfoPrivate.h
173    UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp
174    UIProcess/API/gtk/WebKitNavigationPolicyDecision.h
175    UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h
176    UIProcess/API/gtk/WebKitPermissionRequest.cpp
177    UIProcess/API/gtk/WebKitPermissionRequest.h
178    UIProcess/API/gtk/WebKitPlugin.cpp
179    UIProcess/API/gtk/WebKitPlugin.h
180    UIProcess/API/gtk/WebKitPluginPrivate.h
181    UIProcess/API/gtk/WebKitPolicyClient.cpp
182    UIProcess/API/gtk/WebKitPolicyClient.h
183    UIProcess/API/gtk/WebKitPolicyDecision.cpp
184    UIProcess/API/gtk/WebKitPolicyDecision.h
185    UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h
186    UIProcess/API/gtk/WebKitPrintOperation.cpp
187    UIProcess/API/gtk/WebKitPrintOperation.h
188    UIProcess/API/gtk/WebKitPrintOperationPrivate.h
189    UIProcess/API/gtk/WebKitPrivate.cpp
190    UIProcess/API/gtk/WebKitPrivate.h
191    UIProcess/API/gtk/WebKitRequestManagerClient.cpp
192    UIProcess/API/gtk/WebKitRequestManagerClient.h
193    UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp
194    UIProcess/API/gtk/WebKitResponsePolicyDecision.h
195    UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h
196    UIProcess/API/gtk/WebKitScriptDialog.cpp
197    UIProcess/API/gtk/WebKitScriptDialog.h
198    UIProcess/API/gtk/WebKitScriptDialogPrivate.h
199    UIProcess/API/gtk/WebKitSecurityManager.cpp
200    UIProcess/API/gtk/WebKitSecurityManager.h
201    UIProcess/API/gtk/WebKitSecurityManagerPrivate.h
202    UIProcess/API/gtk/WebKitSettings.cpp
203    UIProcess/API/gtk/WebKitSettings.h
204    UIProcess/API/gtk/WebKitSettingsPrivate.h
205    UIProcess/API/gtk/WebKitTextChecker.cpp
206    UIProcess/API/gtk/WebKitTextChecker.h
207    UIProcess/API/gtk/WebKitUIClient.cpp
208    UIProcess/API/gtk/WebKitUIClient.h
209    UIProcess/API/gtk/WebKitURIRequest.cpp
210    UIProcess/API/gtk/WebKitURIRequest.h
211    UIProcess/API/gtk/WebKitURIRequestPrivate.h
212    UIProcess/API/gtk/WebKitURIResponse.cpp
213    UIProcess/API/gtk/WebKitURIResponse.h
214    UIProcess/API/gtk/WebKitURIResponsePrivate.h
215    UIProcess/API/gtk/WebKitURISchemeRequest.cpp
216    UIProcess/API/gtk/WebKitURISchemeRequest.h
217    UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h
218    UIProcess/API/gtk/WebKitVersion.cpp
219    UIProcess/API/gtk/WebKitVersion.h.in
220    UIProcess/API/gtk/WebKitWebContext.cpp
221    UIProcess/API/gtk/WebKitWebContext.h
222    UIProcess/API/gtk/WebKitWebContextPrivate.h
223    UIProcess/API/gtk/WebKitWebInspector.cpp
224    UIProcess/API/gtk/WebKitWebInspector.h
225    UIProcess/API/gtk/WebKitWebInspectorPrivate.h
226    UIProcess/API/gtk/WebKitWebResource.cpp
227    UIProcess/API/gtk/WebKitWebResource.h
228    UIProcess/API/gtk/WebKitWebResourcePrivate.h
229    UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp
230    UIProcess/API/gtk/WebKitWebViewBaseAccessible.h
231    UIProcess/API/gtk/WebKitWebViewBase.cpp
232    UIProcess/API/gtk/WebKitWebViewBase.h
233    UIProcess/API/gtk/WebKitWebViewBasePrivate.h
234    UIProcess/API/gtk/WebKitWebView.cpp
235    UIProcess/API/gtk/WebKitWebViewGroup.cpp
236    UIProcess/API/gtk/WebKitWebViewGroup.h
237    UIProcess/API/gtk/WebKitWebViewGroupPrivate.h
238    UIProcess/API/gtk/WebKitWebView.h
239    UIProcess/API/gtk/WebKitWebViewPrivate.h
240    UIProcess/API/gtk/WebKitWindowProperties.cpp
241    UIProcess/API/gtk/WebKitWindowProperties.h
242    UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h
243    UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp
244    UIProcess/API/gtk/WebViewBaseInputMethodFilter.h
245
246    UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp
247    UIProcess/API/C/gtk/WKInspectorClientGtk.cpp
248    UIProcess/API/C/gtk/WKView.cpp
249
250    WebProcess/gtk/WebProcessMainGtk.cpp
251)
252
253set(WebKit2_INSTALLED_HEADERS
254    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitBackForwardList.h
255    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitBackForwardListItem.h
256    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitContextMenu.h
257    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitContextMenuActions.h
258    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitContextMenuItem.h
259    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitCookieManager.h
260    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitDefines.h
261    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitDownload.h
262    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEditingCommands.h
263    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitError.h
264    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitFaviconDatabase.h
265    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitFileChooserRequest.h
266    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitFindController.h
267    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitFormSubmissionRequest.h
268    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitForwardDeclarations.h
269    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h
270    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitHitTestResult.h
271    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitJavascriptResult.h
272    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitMimeInfo.h
273    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitNavigationPolicyDecision.h
274    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitPermissionRequest.h
275    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitPlugin.h
276    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitPolicyDecision.h
277    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitPrintOperation.h
278    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitResponsePolicyDecision.h
279    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitScriptDialog.h
280    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitSecurityManager.h
281    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitSettings.h
282    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitURIRequest.h
283    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitURIResponse.h
284    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitURISchemeRequest.h
285    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebContext.h
286    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebInspector.h
287    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebResource.h
288    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebView.h
289    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebViewBase.h
290    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWebViewGroup.h
291    ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitWindowProperties.h
292    ${WEBKIT2_DIR}/UIProcess/API/gtk/webkit2.h
293
294    ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h
295    ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h
296    ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h
297)
298
299list(APPEND WebKit2_MESSAGES_IN_FILES
300    UIProcess/soup/WebSoupRequestManagerProxy.messages.in
301    WebProcess/soup/WebSoupRequestManager.messages.in
302)
303
304# This is necessary because of a conflict between the GTK+ API WebKitVersion.h and one generated by WebCore.
305list(INSERT WebKit2_INCLUDE_DIRECTORIES 0
306    "${WEBKIT2_FORWARDING_HEADERS_DIR}"
307    "${WEBKIT2_BUILT_API_DIR}"
308    "${DERIVED_SOURCES_WEBKIT2GTK_DIR}"
309)
310
311list(APPEND WebKit2_INCLUDE_DIRECTORIES
312    "${WEBCORE_DIR}/platform/gtk"
313    "${WEBCORE_DIR}/platform/graphics/cairo"
314    "${WEBCORE_DIR}/platform/network/soup"
315    "${WEBCORE_DIR}/platform/text/enchant"
316    "${WEBKIT2_DIR}/Shared/API/c/gtk"
317    "${WEBKIT2_DIR}/Shared/Downloads/soup"
318    "${WEBKIT2_DIR}/Shared/gtk"
319    "${WEBKIT2_DIR}/Shared/soup"
320    "${WEBKIT2_DIR}/UIProcess/API/C/cairo"
321    "${WEBKIT2_DIR}/UIProcess/API/C/gtk"
322    "${WEBKIT2_DIR}/UIProcess/API/C/soup"
323    "${WEBKIT2_DIR}/UIProcess/API/cpp/gtk"
324    "${WEBKIT2_DIR}/UIProcess/API/gtk"
325    "${WEBKIT2_DIR}/UIProcess/gtk"
326    "${WEBKIT2_DIR}/UIProcess/soup"
327    "${WEBKIT2_DIR}/WebProcess/gtk"
328    "${WEBKIT2_DIR}/WebProcess/soup"
329    "${WEBKIT2_DIR}/WebProcess/WebCoreSupport/gtk"
330    "${WEBKIT2_DIR}/WebProcess/WebCoreSupport/soup"
331    "${WEBKIT2_DIR}/WebProcess/WebPage/atk"
332    "${WEBKIT2_DIR}/WebProcess/WebPage/gtk"
333    "${WTF_DIR}/wtf/gtk/"
334    "${WTF_DIR}/wtf/gobject"
335    ${WTF_DIR}
336    ${CAIRO_INCLUDE_DIRS}
337    ${ENCHANT_INCLUDE_DIRS}
338    ${GLIB_INCLUDE_DIRS}
339    ${GTK3_INCLUDE_DIRS}
340    ${LIBSOUP_INCLUDE_DIRS}
341)
342
343list(APPEND WebProcess_SOURCES
344    gtk/MainGtk.cpp
345)
346
347set(WebKit2_MARSHAL_LIST ${WEBKIT2_DIR}/UIProcess/API/gtk/webkit2marshal.list)
348add_custom_command(
349    OUTPUT ${WEBKIT2_BUILT_API_DIR}/WebKitMarshal.cpp
350           ${WEBKIT2_BUILT_API_DIR}/WebKitMarshal.h
351    MAIN_DEPENDENCY ${WebKit2_MARSHAL_LIST}
352
353    COMMAND echo extern \"C\" { > ${WEBKIT2_BUILT_API_DIR}/WebKitMarshal.cpp
354    COMMAND glib-genmarshal --prefix=webkit_marshal ${WebKit2_MARSHAL_LIST} --body >> ${WEBKIT2_BUILT_API_DIR}/WebKitMarshal.cpp
355    COMMAND echo } >> ${WEBKIT2_BUILT_API_DIR}/WebKitMarshal.cpp
356
357    COMMAND glib-genmarshal --prefix=webkit_marshal ${WebKit2_MARSHAL_LIST} --header > ${WEBKIT2_BUILT_API_DIR}/WebKitMarshal.h
358    VERBATIM)
359
360add_custom_command(
361    OUTPUT ${WEBKIT2_BUILT_API_DIR}/WebKitEnumTypes.h
362           ${WEBKIT2_BUILT_API_DIR}/WebKitEnumTypes.cpp
363    DEPENDS ${WebKit2_INSTALLED_HEADERS}
364
365    COMMAND glib-mkenums --template ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEnumTypes.h.template ${WebKit2_INSTALLED_HEADERS} | sed s/web_kit/webkit/ | sed s/WEBKIT_TYPE_KIT/WEBKIT_TYPE/ > ${WEBKIT2_BUILT_API_DIR}/WebKitEnumTypes.h
366
367    COMMAND glib-mkenums --template ${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitEnumTypes.cpp.template ${WebKit2_INSTALLED_HEADERS} | sed s/web_kit/webkit/ > ${WEBKIT2_BUILT_API_DIR}/WebKitEnumTypes.cpp
368    VERBATIM)
369
370# This symbolic link allows includes like #include <webkit2/WebkitWebView.h> which simulates installed headers.
371add_custom_target(fake-installed-headers
372    mkdir -p ${DERIVED_SOURCES_WEBKIT2_DIR}/webkit2gtk/include
373    COMMAND ln -n -s -f ${WEBKIT2_DIR}/UIProcess/API/gtk ${WEBKIT2_FORWARDING_HEADERS_DIR}/webkit2
374)
375
376add_custom_target(gtk-forwarding-headers
377    COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${WEBKIT2_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include gtk
378)
379
380add_custom_target(soup-forwarding-headers
381    COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${WEBKIT2_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include soup
382)
383
384set(WEBKIT2_EXTRA_DEPENDENCIES
385     gtk-forwarding-headers
386     soup-forwarding-headers
387     fake-installed-headers
388)
389
390if (ENABLE_PLUGIN_PROCESS)
391    add_definitions(-DENABLE_PLUGIN_PROCESS=1)
392
393    set(PluginProcess_EXECUTABLE_NAME WebKitPluginProcess)
394    list(APPEND PluginProcess_INCLUDE_DIRECTORIES
395        "${WEBKIT2_DIR}/PluginProcess/unix"
396    )
397
398    include_directories(${PluginProcess_INCLUDE_DIRECTORIES})
399
400    list(APPEND PluginProcess_SOURCES
401        ${WEBKIT2_DIR}/unix/PluginMainUnix.cpp
402    )
403
404    set(PluginProcess_LIBRARIES
405        WebKit2
406    )
407
408    add_executable(${PluginProcess_EXECUTABLE_NAME} ${PluginProcess_SOURCES})
409    target_link_libraries(${PluginProcess_EXECUTABLE_NAME} ${PluginProcess_LIBRARIES})
410    install(TARGETS ${PluginProcess_EXECUTABLE_NAME} DESTINATION "${EXEC_INSTALL_DIR}")
411endif () # ENABLE_PLUGIN_PROCESS
412