[CMake] Ignore warnings in system headers
[WebKit-https.git] / Source / WebCore / PlatformGTK.cmake
1 set(WebCore_OUTPUT_NAME WebCoreGTK)
2
3 list(APPEND WebCore_INCLUDE_DIRECTORIES
4     "${WEBCORE_DIR}/accessibility/atk"
5     "${WEBCORE_DIR}/editing/atk"
6     "${WEBCORE_DIR}/page/gtk"
7     "${WEBCORE_DIR}/platform/cairo"
8     "${WEBCORE_DIR}/platform/geoclue"
9     "${WEBCORE_DIR}/platform/gtk"
10     "${WEBCORE_DIR}/platform/graphics/cairo"
11     "${WEBCORE_DIR}/platform/graphics/egl"
12     "${WEBCORE_DIR}/platform/graphics/glx"
13     "${WEBCORE_DIR}/platform/graphics/gtk"
14     "${WEBCORE_DIR}/platform/graphics/freetype"
15     "${WEBCORE_DIR}/platform/graphics/harfbuzz/"
16     "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
17     "${WEBCORE_DIR}/platform/graphics/opengl"
18     "${WEBCORE_DIR}/platform/graphics/opentype"
19     "${WEBCORE_DIR}/platform/graphics/wayland"
20     "${WEBCORE_DIR}/platform/graphics/x11"
21     "${WEBCORE_DIR}/platform/linux"
22     "${WEBCORE_DIR}/platform/mediastream/openwebrtc"
23     "${WEBCORE_DIR}/platform/mock/mediasource"
24     "${WEBCORE_DIR}/platform/network/gtk"
25     "${WEBCORE_DIR}/platform/network/soup"
26     "${WEBCORE_DIR}/platform/text/gtk"
27 )
28
29 list(APPEND WebCore_SOURCES
30     accessibility/atk/AXObjectCacheAtk.cpp
31     accessibility/atk/AccessibilityObjectAtk.cpp
32     accessibility/atk/WebKitAccessibleHyperlink.cpp
33     accessibility/atk/WebKitAccessibleInterfaceAction.cpp
34     accessibility/atk/WebKitAccessibleInterfaceComponent.cpp
35     accessibility/atk/WebKitAccessibleInterfaceDocument.cpp
36     accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp
37     accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp
38     accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp
39     accessibility/atk/WebKitAccessibleInterfaceImage.cpp
40     accessibility/atk/WebKitAccessibleInterfaceSelection.cpp
41     accessibility/atk/WebKitAccessibleInterfaceTable.cpp
42     accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp
43     accessibility/atk/WebKitAccessibleInterfaceText.cpp
44     accessibility/atk/WebKitAccessibleInterfaceValue.cpp
45     accessibility/atk/WebKitAccessibleUtil.cpp
46     accessibility/atk/WebKitAccessibleWrapperAtk.cpp
47
48     editing/atk/FrameSelectionAtk.cpp
49     editing/SmartReplace.cpp
50
51     loader/soup/CachedRawResourceSoup.cpp
52     loader/soup/SubresourceLoaderSoup.cpp
53
54     platform/PlatformStrategies.cpp
55
56     platform/audio/gtk/AudioBusGtk.cpp
57
58     platform/audio/gstreamer/AudioDestinationGStreamer.cpp
59     platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
60     platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp
61     platform/audio/gstreamer/FFTFrameGStreamer.cpp
62     platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp
63
64     platform/geoclue/GeolocationProviderGeoclue1.cpp
65     platform/geoclue/GeolocationProviderGeoclue2.cpp
66
67     platform/graphics/GLContext.cpp
68     platform/graphics/GraphicsContext3DPrivate.cpp
69     platform/graphics/ImageSource.cpp
70     platform/graphics/WOFFFileFormat.cpp
71
72     platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp
73     platform/graphics/cairo/BackingStoreBackendCairoX11.cpp
74     platform/graphics/cairo/BitmapImageCairo.cpp
75     platform/graphics/cairo/CairoUtilities.cpp
76     platform/graphics/cairo/FloatRectCairo.cpp
77     platform/graphics/cairo/FontCairo.cpp
78     platform/graphics/cairo/FontCairoHarfbuzzNG.cpp
79     platform/graphics/cairo/GradientCairo.cpp
80     platform/graphics/cairo/GraphicsContext3DCairo.cpp
81     platform/graphics/cairo/GraphicsContextCairo.cpp
82     platform/graphics/cairo/ImageBufferCairo.cpp
83     platform/graphics/cairo/ImageCairo.cpp
84     platform/graphics/cairo/IntRectCairo.cpp
85     platform/graphics/cairo/PathCairo.cpp
86     platform/graphics/cairo/PatternCairo.cpp
87     platform/graphics/cairo/PlatformContextCairo.cpp
88     platform/graphics/cairo/PlatformPathCairo.cpp
89     platform/graphics/cairo/RefPtrCairo.cpp
90     platform/graphics/cairo/TransformationMatrixCairo.cpp
91
92     platform/graphics/egl/GLContextEGL.cpp
93
94     platform/graphics/freetype/FontCacheFreeType.cpp
95     platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp
96     platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp
97     platform/graphics/freetype/SimpleFontDataFreeType.cpp
98
99     platform/graphics/glx/GLContextGLX.cpp
100
101     platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp
102     platform/graphics/gstreamer/GRefPtrGStreamer.cpp
103     platform/graphics/gstreamer/GStreamerUtilities.cpp
104     platform/graphics/gstreamer/ImageGStreamerCairo.cpp
105     platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp
106     platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
107     platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
108     platform/graphics/gstreamer/MediaSourceGStreamer.cpp
109     platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp
110     platform/graphics/gstreamer/TextCombinerGStreamer.cpp
111     platform/graphics/gstreamer/TextSinkGStreamer.cpp
112     platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp
113     platform/graphics/gstreamer/VideoSinkGStreamer.cpp
114     platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp
115     platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp
116     platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
117
118     platform/graphics/harfbuzz/HarfBuzzFace.cpp
119     platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp
120     platform/graphics/harfbuzz/HarfBuzzShaper.cpp
121
122     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
123     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
124     platform/graphics/opengl/TemporaryOpenGLSetting.cpp
125
126     platform/graphics/opentype/OpenTypeVerticalData.cpp
127
128     platform/graphics/x11/PlatformDisplayX11.cpp
129     platform/graphics/x11/XUniqueResource.cpp
130
131     platform/gtk/ErrorsGtk.cpp
132     platform/gtk/EventLoopGtk.cpp
133     platform/gtk/FileSystemGtk.cpp
134     platform/gtk/GamepadsGtk.cpp
135     platform/gtk/LanguageGtk.cpp
136     platform/gtk/LoggingGtk.cpp
137     platform/gtk/MIMETypeRegistryGtk.cpp
138     platform/gtk/SharedBufferGtk.cpp
139     platform/gtk/SharedTimerGtk.cpp
140     platform/gtk/TemporaryLinkStubs.cpp
141     platform/gtk/UserAgentGtk.cpp
142
143     platform/image-decoders/ImageDecoder.cpp
144
145     platform/image-decoders/cairo/ImageDecoderCairo.cpp
146
147     platform/image-decoders/gif/GIFImageDecoder.cpp
148     platform/image-decoders/gif/GIFImageReader.cpp
149
150     platform/image-decoders/ico/ICOImageDecoder.cpp
151
152     platform/image-decoders/jpeg/JPEGImageDecoder.cpp
153
154     platform/image-decoders/bmp/BMPImageDecoder.cpp
155     platform/image-decoders/bmp/BMPImageReader.cpp
156
157     platform/image-decoders/png/PNGImageDecoder.cpp
158
159     platform/image-decoders/webp/WEBPImageDecoder.cpp
160
161     platform/linux/GamepadDeviceLinux.cpp
162     platform/linux/MemoryPressureHandlerLinux.cpp
163
164     platform/mediastream/openwebrtc/OpenWebRTCUtilities.cpp
165     platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp
166
167     platform/network/soup/AuthenticationChallengeSoup.cpp
168     platform/network/soup/CertificateInfo.cpp
169     platform/network/soup/CookieJarSoup.cpp
170     platform/network/soup/CookieStorageSoup.cpp
171     platform/network/soup/CredentialStorageSoup.cpp
172     platform/network/soup/DNSSoup.cpp
173     platform/network/soup/GRefPtrSoup.cpp
174     platform/network/soup/NetworkStorageSessionSoup.cpp
175     platform/network/soup/ProxyServerSoup.cpp
176     platform/network/soup/ResourceErrorSoup.cpp
177     platform/network/soup/ResourceHandleSoup.cpp
178     platform/network/soup/ResourceRequestSoup.cpp
179     platform/network/soup/ResourceResponseSoup.cpp
180     platform/network/soup/SocketStreamHandleSoup.cpp
181     platform/network/soup/SoupNetworkSession.cpp
182     platform/network/soup/SynchronousLoaderClientSoup.cpp
183
184     platform/soup/SharedBufferSoup.cpp
185     platform/soup/URLSoup.cpp
186
187     platform/text/LocaleICU.cpp
188
189     platform/text/enchant/TextCheckerEnchant.cpp
190
191     platform/text/gtk/HyphenationLibHyphen.cpp
192     platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp
193
194     platform/network/gtk/CredentialBackingStore.cpp
195 )
196
197 list(APPEND WebCorePlatformGTK_SOURCES
198     editing/gtk/EditorGtk.cpp
199
200     page/gtk/DragControllerGtk.cpp
201     page/gtk/EventHandlerGtk.cpp
202
203     platform/graphics/PlatformDisplay.cpp
204
205     platform/graphics/freetype/FontPlatformDataFreeType.cpp
206
207     platform/graphics/gtk/ColorGtk.cpp
208     platform/graphics/gtk/GdkCairoUtilities.cpp
209     platform/graphics/gtk/IconGtk.cpp
210     platform/graphics/gtk/ImageBufferGtk.cpp
211     platform/graphics/gtk/ImageGtk.cpp
212
213     platform/gtk/ContextMenuGtk.cpp
214     platform/gtk/ContextMenuItemGtk.cpp
215     platform/gtk/CursorGtk.cpp
216     platform/gtk/DataObjectGtk.cpp
217     platform/gtk/DragDataGtk.cpp
218     platform/gtk/DragImageGtk.cpp
219     platform/gtk/GRefPtrGtk.cpp
220     platform/gtk/GtkUtilities.cpp
221     platform/gtk/GtkVersioning.c
222     platform/gtk/KeyBindingTranslator.cpp
223     platform/gtk/LocalizedStringsGtk.cpp
224     platform/gtk/PasteboardGtk.cpp
225     platform/gtk/PasteboardHelper.cpp
226     platform/gtk/PlatformKeyboardEventGtk.cpp
227     platform/gtk/PlatformMouseEventGtk.cpp
228     platform/gtk/PlatformScreenGtk.cpp
229     platform/gtk/PlatformWheelEventGtk.cpp
230     platform/gtk/ScrollbarThemeGtk.cpp
231     platform/gtk/SoundGtk.cpp
232     platform/gtk/WidgetGtk.cpp
233
234     rendering/RenderThemeGtk.cpp
235 )
236
237 if (USE_GEOCLUE2)
238     list(APPEND WebCore_SOURCES
239         ${DERIVED_SOURCES_WEBCORE_DIR}/Geoclue2Interface.c
240     )
241     execute_process(COMMAND pkg-config --variable dbus_interface geoclue-2.0 OUTPUT_VARIABLE GEOCLUE_DBUS_INTERFACE)
242     add_custom_command(
243          OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/Geoclue2Interface.c ${DERIVED_SOURCES_WEBCORE_DIR}/Geoclue2Interface.h
244          COMMAND gdbus-codegen --interface-prefix org.freedesktop.GeoClue2. --c-namespace Geoclue --generate-c-code ${DERIVED_SOURCES_WEBCORE_DIR}/Geoclue2Interface ${GEOCLUE_DBUS_INTERFACE}
245     )
246 endif ()
247
248 list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
249     ${WEBCORE_DIR}/css/mediaControlsGtk.css
250 )
251
252 set(WebCore_USER_AGENT_SCRIPTS
253     ${WEBCORE_DIR}/English.lproj/mediaControlsLocalizedStrings.js
254     ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.js
255     ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsGtk.js
256 )
257
258 set(WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES ${WEBCORE_DIR}/platform/gtk/RenderThemeGtk.cpp)
259
260 list(APPEND WebCore_LIBRARIES
261     ${ATK_LIBRARIES}
262     ${CAIRO_LIBRARIES}
263     ${ENCHANT_LIBRARIES}
264     ${FONTCONFIG_LIBRARIES}
265     ${FREETYPE2_LIBRARIES}
266     ${GEOCLUE_LIBRARIES}
267     ${GLIB_GIO_LIBRARIES}
268     ${GLIB_GMODULE_LIBRARIES}
269     ${GLIB_GOBJECT_LIBRARIES}
270     ${GLIB_LIBRARIES}
271     ${GUDEV_LIBRARIES}
272     ${HARFBUZZ_LIBRARIES}
273     ${JPEG_LIBRARIES}
274     ${LIBSECRET_LIBRARIES}
275     ${LIBSOUP_LIBRARIES}
276     ${LIBXML2_LIBRARIES}
277     ${LIBXSLT_LIBRARIES}
278     ${HYPHEN_LIBRARIES}
279     ${PNG_LIBRARIES}
280     ${SQLITE_LIBRARIES}
281     ${WEBP_LIBRARIES}
282     ${X11_X11_LIB}
283     ${X11_Xcomposite_LIB}
284     ${X11_Xdamage_LIB}
285     ${X11_Xrender_LIB}
286     ${X11_Xt_LIB}
287     ${ZLIB_LIBRARIES}
288 )
289
290 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
291     ${ATK_INCLUDE_DIRS}
292     ${CAIRO_INCLUDE_DIRS}
293     ${ENCHANT_INCLUDE_DIRS}
294     ${FREETYPE2_INCLUDE_DIRS}
295     ${GEOCLUE_INCLUDE_DIRS}
296     ${GIO_UNIX_INCLUDE_DIRS}
297     ${GLIB_INCLUDE_DIRS}
298     ${GUDEV_INCLUDE_DIRS}
299     ${HARFBUZZ_INCLUDE_DIRS}
300     ${LIBSECRET_INCLUDE_DIRS}
301     ${LIBSOUP_INCLUDE_DIRS}
302     ${LIBXML2_INCLUDE_DIR}
303     ${LIBXSLT_INCLUDE_DIR}
304     ${SQLITE_INCLUDE_DIR}
305     ${WEBP_INCLUDE_DIRS}
306     ${ZLIB_INCLUDE_DIRS}
307 )
308
309 if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
310     list(APPEND WebCore_INCLUDE_DIRECTORIES
311         ${WEBCORE_DIR}/platform/graphics/gstreamer
312     )
313
314     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
315         ${GSTREAMER_INCLUDE_DIRS}
316         ${GSTREAMER_BASE_INCLUDE_DIRS}
317         ${GSTREAMER_APP_INCLUDE_DIRS}
318         ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
319     )
320
321     list(APPEND WebCore_LIBRARIES
322         ${GSTREAMER_APP_LIBRARIES}
323         ${GSTREAMER_BASE_LIBRARIES}
324         ${GSTREAMER_LIBRARIES}
325         ${GSTREAMER_PBUTILS_LIBRARIES}
326         ${GSTREAMER_AUDIO_LIBRARIES}
327     )
328     # Avoiding a GLib deprecation warning due to GStreamer API using deprecated classes.
329     set_source_files_properties(platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp PROPERTIES COMPILE_DEFINITIONS "GLIB_DISABLE_DEPRECATION_WARNINGS=1")
330 endif ()
331
332 if (ENABLE_VIDEO)
333     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
334         ${GSTREAMER_TAG_INCLUDE_DIRS}
335         ${GSTREAMER_VIDEO_INCLUDE_DIRS}
336     )
337     list(APPEND WebCore_LIBRARIES
338         ${GSTREAMER_TAG_LIBRARIES}
339         ${GSTREAMER_VIDEO_LIBRARIES}
340     )
341
342     if (USE_GSTREAMER_MPEGTS)
343         list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
344             ${GSTREAMER_MPEGTS_INCLUDE_DIRS}
345         )
346
347         list(APPEND WebCore_LIBRARIES
348             ${GSTREAMER_MPEGTS_LIBRARIES}
349         )
350     endif ()
351
352     if (USE_GSTREAMER_GL)
353         list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
354             ${GSTREAMER_GL_INCLUDE_DIRS}
355         )
356
357         list(APPEND WebCore_LIBRARIES
358             ${GSTREAMER_GL_LIBRARIES}
359         )
360     endif ()
361 endif ()
362
363 if (ENABLE_WEB_AUDIO)
364     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
365         ${WEBCORE_DIR}/platform/audio/gstreamer
366         ${GSTREAMER_AUDIO_INCLUDE_DIRS}
367         ${GSTREAMER_FFT_INCLUDE_DIRS}
368     )
369     list(APPEND WebCore_LIBRARIES
370         ${GSTREAMER_FFT_LIBRARIES}
371     )
372 endif ()
373
374 if (ENABLE_MEDIA_STREAM)
375     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
376         ${OPENWEBRTC_INCLUDE_DIRS}
377     )
378     list(APPEND WebCore_LIBRARIES
379         ${OPENWEBRTC_LIBRARIES}
380     )
381 endif ()
382
383 if (USE_TEXTURE_MAPPER)
384     list(APPEND WebCore_INCLUDE_DIRECTORIES
385         "${WEBCORE_DIR}/platform/graphics/texmap"
386     )
387     list(APPEND WebCore_SOURCES
388         platform/graphics/texmap/BitmapTexture.cpp
389         platform/graphics/texmap/BitmapTextureGL.cpp
390         platform/graphics/texmap/BitmapTexturePool.cpp
391         platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
392         platform/graphics/texmap/TextureMapperGL.cpp
393         platform/graphics/texmap/TextureMapperShaderProgram.cpp
394     )
395 endif ()
396
397 if (ENABLE_THREADED_COMPOSITOR)
398     list(APPEND WebCore_INCLUDE_DIRECTORIES
399         "${WEBCORE_DIR}/page/scrolling/coordinatedgraphics"
400         "${WEBCORE_DIR}/platform/graphics/texmap/coordinated"
401         "${WEBCORE_DIR}/platform/graphics/texmap/threadedcompositor"
402     )
403     list(APPEND WebCore_SOURCES
404         page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp
405         page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp
406         page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp
407         page/scrolling/ScrollingStateStickyNode.cpp
408         page/scrolling/ScrollingThread.cpp
409         page/scrolling/ScrollingTreeNode.cpp
410         page/scrolling/ScrollingTreeScrollingNode.cpp
411         platform/graphics/texmap/coordinated/AreaAllocator.cpp
412         platform/graphics/texmap/coordinated/CompositingCoordinator.cpp
413         platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
414         platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp
415         platform/graphics/texmap/coordinated/CoordinatedSurface.cpp
416         platform/graphics/texmap/coordinated/CoordinatedTile.cpp
417         platform/graphics/texmap/coordinated/TiledBackingStore.cpp
418         platform/graphics/texmap/coordinated/UpdateAtlas.cpp
419     )
420 endif ()
421
422 if (USE_EGL)
423     list(APPEND WebCore_LIBRARIES
424         ${EGL_LIBRARY}
425     )
426 endif ()
427
428 if (USE_OPENGL_ES_2)
429     list(APPEND WebCore_SOURCES
430         platform/graphics/opengl/Extensions3DOpenGLES.cpp
431         platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
432     )
433 endif ()
434
435 if (USE_OPENGL)
436     list(APPEND WebCore_SOURCES
437         platform/graphics/OpenGLShims.cpp
438
439         platform/graphics/opengl/Extensions3DOpenGL.cpp
440         platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
441     )
442 endif ()
443
444 if (ENABLE_PLUGIN_PROCESS_GTK2)
445     # WebKitPluginProcess2 needs a version of WebCore compiled against GTK+2, so we've isolated all the GTK+
446     # dependent files into a separate library which can be used to construct a GTK+2 WebCore
447     # for the plugin process.
448     add_library(WebCorePlatformGTK2 ${WebCore_LIBRARY_TYPE} ${WebCorePlatformGTK_SOURCES})
449     add_dependencies(WebCorePlatformGTK2 WebCore)
450     WEBKIT_SET_EXTRA_COMPILER_FLAGS(WebCorePlatformGTK2)
451     set_property(TARGET WebCorePlatformGTK2
452         APPEND
453         PROPERTY COMPILE_DEFINITIONS GTK_API_VERSION_2=1
454     )
455     target_include_directories(WebCorePlatformGTK2 PRIVATE
456         ${WebCore_INCLUDE_DIRECTORIES}
457         ${GTK2_INCLUDE_DIRS}
458         ${GDK2_INCLUDE_DIRS}
459     )
460     target_include_directories(WebCorePlatformGTK2 SYSTEM PRIVATE
461         ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
462     )
463     target_link_libraries(WebCorePlatformGTK2
464          ${WebCore_LIBRARIES}
465          ${GTK2_LIBRARIES}
466          ${GDK2_LIBRARIES}
467     )
468 endif ()
469
470 # Wayland protocol extension.
471 add_custom_command(
472     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandClientProtocol.c
473     DEPENDS ${WEBCORE_DIR}/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml
474     COMMAND wayland-scanner server-header < ${WEBCORE_DIR}/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml > ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandServerProtocol.h
475     COMMAND wayland-scanner client-header < ${WEBCORE_DIR}/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml > ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandClientProtocol.h
476     COMMAND wayland-scanner code < ${WEBCORE_DIR}/platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml > ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandClientProtocol.c
477 )
478
479 if (ENABLE_WAYLAND_TARGET)
480     list(APPEND WebCorePlatformGTK_SOURCES
481         platform/graphics/wayland/PlatformDisplayWayland.cpp
482         platform/graphics/wayland/WaylandEventSource.cpp
483         platform/graphics/wayland/WaylandSurface.cpp
484
485         ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitGtkWaylandClientProtocol.c
486     )
487
488     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
489         ${WAYLAND_INCLUDE_DIRS}
490     )
491     list(APPEND WebCore_LIBRARIES
492         ${WAYLAND_LIBRARIES}
493     )
494 endif ()
495
496 add_library(WebCorePlatformGTK ${WebCore_LIBRARY_TYPE} ${WebCorePlatformGTK_SOURCES})
497 add_dependencies(WebCorePlatformGTK WebCore)
498 WEBKIT_SET_EXTRA_COMPILER_FLAGS(WebCorePlatformGTK)
499 target_include_directories(WebCorePlatformGTK PRIVATE
500     ${WebCore_INCLUDE_DIRECTORIES}
501 )
502 target_include_directories(WebCorePlatformGTK SYSTEM PRIVATE
503     ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
504     ${GTK_INCLUDE_DIRS}
505     ${GDK_INCLUDE_DIRS}
506 )
507 target_link_libraries(WebCorePlatformGTK
508     ${WebCore_LIBRARIES}
509     ${GTK_LIBRARIES}
510     ${GDK_LIBRARIES}
511 )
512
513 include_directories(
514     ${WebCore_INCLUDE_DIRECTORIES}
515     "${WEBCORE_DIR}/bindings/gobject/"
516     "${DERIVED_SOURCES_DIR}"
517     "${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}"
518 )
519
520 include_directories(SYSTEM
521     ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
522 )
523
524 list(APPEND GObjectDOMBindings_SOURCES
525     bindings/gobject/ConvertToUTF8String.cpp
526     bindings/gobject/DOMObjectCache.cpp
527     bindings/gobject/GObjectEventListener.cpp
528     bindings/gobject/GObjectNodeFilterCondition.cpp
529     bindings/gobject/GObjectXPathNSResolver.cpp
530     bindings/gobject/WebKitDOMCustom.cpp
531     bindings/gobject/WebKitDOMDeprecated.cpp
532     bindings/gobject/WebKitDOMEventTarget.cpp
533     bindings/gobject/WebKitDOMHTMLPrivate.cpp
534     bindings/gobject/WebKitDOMNodeFilter.cpp
535     bindings/gobject/WebKitDOMObject.cpp
536     bindings/gobject/WebKitDOMPrivate.cpp
537     bindings/gobject/WebKitDOMXPathNSResolver.cpp
538     ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdomdefines.h
539     ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdomdefines-unstable.h
540     ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdom.h
541 )
542
543 list(APPEND GObjectDOMBindingsStable_IDL_FILES
544     css/CSSRule.idl
545     css/CSSRuleList.idl
546     css/CSSStyleDeclaration.idl
547     css/CSSStyleSheet.idl
548     css/CSSValue.idl
549     css/MediaList.idl
550     css/StyleSheet.idl
551     css/StyleSheetList.idl
552
553     dom/Attr.idl
554     dom/CDATASection.idl
555     dom/CharacterData.idl
556     dom/Comment.idl
557     dom/DOMImplementation.idl
558     dom/Document.idl
559     dom/DocumentFragment.idl
560     dom/DocumentType.idl
561     dom/Element.idl
562     dom/EntityReference.idl
563     dom/Event.idl
564     dom/KeyboardEvent.idl
565     dom/MouseEvent.idl
566     dom/NamedNodeMap.idl
567     dom/Node.idl
568     dom/NodeIterator.idl
569     dom/NodeList.idl
570     dom/ProcessingInstruction.idl
571     dom/Range.idl
572     dom/Text.idl
573     dom/TreeWalker.idl
574     dom/UIEvent.idl
575     dom/WheelEvent.idl
576
577     fileapi/Blob.idl
578     fileapi/File.idl
579     fileapi/FileList.idl
580
581     html/HTMLAnchorElement.idl
582     html/HTMLAppletElement.idl
583     html/HTMLAreaElement.idl
584     html/HTMLBRElement.idl
585     html/HTMLBaseElement.idl
586     html/HTMLBaseFontElement.idl
587     html/HTMLBodyElement.idl
588     html/HTMLButtonElement.idl
589     html/HTMLCanvasElement.idl
590     html/HTMLCollection.idl
591     html/HTMLDListElement.idl
592     html/HTMLDirectoryElement.idl
593     html/HTMLDivElement.idl
594     html/HTMLDocument.idl
595     html/HTMLElement.idl
596     html/HTMLEmbedElement.idl
597     html/HTMLFieldSetElement.idl
598     html/HTMLFontElement.idl
599     html/HTMLFormElement.idl
600     html/HTMLFrameElement.idl
601     html/HTMLFrameSetElement.idl
602     html/HTMLHRElement.idl
603     html/HTMLHeadElement.idl
604     html/HTMLHeadingElement.idl
605     html/HTMLHtmlElement.idl
606     html/HTMLIFrameElement.idl
607     html/HTMLImageElement.idl
608     html/HTMLInputElement.idl
609     html/HTMLLIElement.idl
610     html/HTMLLabelElement.idl
611     html/HTMLLegendElement.idl
612     html/HTMLLinkElement.idl
613     html/HTMLMapElement.idl
614     html/HTMLMarqueeElement.idl
615     html/HTMLMenuElement.idl
616     html/HTMLMetaElement.idl
617     html/HTMLModElement.idl
618     html/HTMLOListElement.idl
619     html/HTMLObjectElement.idl
620     html/HTMLOptGroupElement.idl
621     html/HTMLOptionElement.idl
622     html/HTMLOptionsCollection.idl
623     html/HTMLParagraphElement.idl
624     html/HTMLParamElement.idl
625     html/HTMLPreElement.idl
626     html/HTMLQuoteElement.idl
627     html/HTMLScriptElement.idl
628     html/HTMLSelectElement.idl
629     html/HTMLStyleElement.idl
630     html/HTMLTableCaptionElement.idl
631     html/HTMLTableCellElement.idl
632     html/HTMLTableColElement.idl
633     html/HTMLTableElement.idl
634     html/HTMLTableRowElement.idl
635     html/HTMLTableSectionElement.idl
636     html/HTMLTextAreaElement.idl
637     html/HTMLTitleElement.idl
638     html/HTMLUListElement.idl
639
640     page/DOMWindow.idl
641
642     xml/XPathExpression.idl
643     xml/XPathResult.idl
644 )
645
646 list(APPEND GObjectDOMBindingsUnstable_IDL_FILES
647     Modules/battery/BatteryManager.idl
648
649     Modules/gamepad/deprecated/Gamepad.idl
650     Modules/gamepad/deprecated/GamepadList.idl
651
652     Modules/geolocation/Geolocation.idl
653
654     Modules/mediasource/VideoPlaybackQuality.idl
655
656     Modules/mediastream/MediaDevices.idl
657     Modules/mediastream/NavigatorMediaDevices.idl
658
659     Modules/quota/StorageInfo.idl
660     Modules/quota/StorageQuota.idl
661
662     Modules/speech/DOMWindowSpeechSynthesis.idl
663     Modules/speech/SpeechSynthesis.idl
664     Modules/speech/SpeechSynthesisEvent.idl
665     Modules/speech/SpeechSynthesisUtterance.idl
666     Modules/speech/SpeechSynthesisVoice.idl
667
668     Modules/webdatabase/Database.idl
669
670     css/DOMWindowCSS.idl
671     css/MediaQueryList.idl
672     css/StyleMedia.idl
673
674     dom/DOMNamedFlowCollection.idl
675     dom/DOMStringList.idl
676     dom/DOMStringMap.idl
677     dom/MessagePort.idl
678     dom/Touch.idl
679     dom/WebKitNamedFlow.idl
680
681     html/DOMSettableTokenList.idl
682     html/DOMTokenList.idl
683     html/HTMLDetailsElement.idl
684     html/HTMLKeygenElement.idl
685     html/HTMLMediaElement.idl
686     html/MediaController.idl
687     html/MediaError.idl
688     html/TimeRanges.idl
689     html/ValidityState.idl
690
691     loader/appcache/DOMApplicationCache.idl
692
693     page/BarProp.idl
694     page/DOMSecurityPolicy.idl
695     page/DOMSelection.idl
696     page/History.idl
697     page/Location.idl
698     page/Navigator.idl
699     page/Performance.idl
700     page/PerformanceEntry.idl
701     page/PerformanceEntryList.idl
702     page/PerformanceNavigation.idl
703     page/PerformanceTiming.idl
704     page/Screen.idl
705     page/UserMessageHandler.idl
706     page/UserMessageHandlersNamespace.idl
707     page/WebKitPoint.idl
708     page/WebKitNamespace.idl
709
710     plugins/DOMMimeType.idl
711     plugins/DOMMimeTypeArray.idl
712     plugins/DOMPlugin.idl
713     plugins/DOMPluginArray.idl
714
715     storage/Storage.idl
716 )
717
718 if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
719     list(APPEND GObjectDOMBindingsUnstable_IDL_FILES
720         html/HTMLAudioElement.idl
721         html/HTMLVideoElement.idl
722
723         html/track/AudioTrack.idl
724         html/track/AudioTrackList.idl
725         html/track/DataCue.idl
726         html/track/TextTrack.idl
727         html/track/TextTrackCue.idl
728         html/track/TextTrackCueList.idl
729         html/track/TextTrackList.idl
730         html/track/TrackEvent.idl
731         html/track/VTTCue.idl
732         html/track/VideoTrack.idl
733         html/track/VideoTrackList.idl
734     )
735 endif ()
736
737 if (ENABLE_QUOTA)
738     list(APPEND GObjectDOMBindingsUnstable_IDL_FILES
739         Modules/quota/DOMWindowQuota.idl
740         Modules/quota/NavigatorStorageQuota.idl
741         Modules/quota/StorageErrorCallback.idl
742         Modules/quota/StorageInfo.idl
743         Modules/quota/StorageQuota.idl
744         Modules/quota/StorageQuotaCallback.idl
745         Modules/quota/StorageUsageCallback.idl
746         Modules/quota/WorkerNavigatorStorageQuota.idl
747     )
748 endif ()
749
750 set(GObjectDOMBindings_STATIC_CLASS_LIST Custom Deprecated EventTarget NodeFilter Object XPathNSResolver)
751
752 set(GObjectDOMBindingsStable_CLASS_LIST ${GObjectDOMBindings_STATIC_CLASS_LIST})
753 set(GObjectDOMBindingsStable_INSTALLED_HEADERS
754      ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdomdefines.h
755      ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdom.h
756      ${WEBCORE_DIR}/bindings/gobject/WebKitDOMCustom.h
757      ${WEBCORE_DIR}/bindings/gobject/WebKitDOMDeprecated.h
758      ${WEBCORE_DIR}/bindings/gobject/WebKitDOMEventTarget.h
759      ${WEBCORE_DIR}/bindings/gobject/WebKitDOMNodeFilter.h
760      ${WEBCORE_DIR}/bindings/gobject/WebKitDOMObject.h
761      ${WEBCORE_DIR}/bindings/gobject/WebKitDOMXPathNSResolver.h
762 )
763
764 set(GObjectDOMBindingsUnstable_INSTALLED_HEADERS
765      ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdomdefines-unstable.h
766      ${WEBCORE_DIR}/bindings/gobject/WebKitDOMCustomUnstable.h
767 )
768
769 foreach (file ${GObjectDOMBindingsStable_IDL_FILES})
770     get_filename_component(classname ${file} NAME_WE)
771     list(APPEND GObjectDOMBindingsStable_CLASS_LIST ${classname})
772     list(APPEND GObjectDOMBindingsStable_INSTALLED_HEADERS ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/WebKitDOM${classname}.h)
773     list(APPEND GObjectDOMBindingsUnstable_INSTALLED_HEADERS ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/WebKitDOM${classname}Unstable.h)
774 endforeach ()
775
776 foreach (file ${GObjectDOMBindingsUnstable_IDL_FILES})
777     get_filename_component(classname ${file} NAME_WE)
778     list(APPEND GObjectDOMBindingsUnstable_CLASS_LIST ${classname})
779     list(APPEND GObjectDOMBindingsUnstable_INSTALLED_HEADERS ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/WebKitDOM${classname}.h)
780 endforeach ()
781
782 set(GOBJECT_DOM_BINDINGS_FEATURES_DEFINES "LANGUAGE_GOBJECT=1 ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}")
783 string(REPLACE "ENABLE_INDEXED_DATABASE=1" "" GOBJECT_DOM_BINDINGS_FEATURES_DEFINES ${GOBJECT_DOM_BINDINGS_FEATURES_DEFINES})
784 string(REPLACE REGEX "ENABLE_SVG[A-Z_]+=1" "" GOBJECT_DOM_BINDINGS_FEATURES_DEFINES ${GOBJECT_DOM_BINDINGS_FEATURES_DEFINES})
785
786 file(MAKE_DIRECTORY ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR})
787
788 add_custom_command(
789     OUTPUT ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdomdefines.h
790     DEPENDS ${WEBCORE_DIR}/bindings/scripts/gobject-generate-headers.pl
791     COMMAND echo ${GObjectDOMBindingsStable_CLASS_LIST} | ${PERL_EXECUTABLE} ${WEBCORE_DIR}/bindings/scripts/gobject-generate-headers.pl defines > ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdomdefines.h
792 )
793
794 add_custom_command(
795     OUTPUT ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdomdefines-unstable.h
796     DEPENDS ${WEBCORE_DIR}/bindings/scripts/gobject-generate-headers.pl
797     COMMAND echo ${GObjectDOMBindingsUnstable_CLASS_LIST} | ${PERL_EXECUTABLE} ${WEBCORE_DIR}/bindings/scripts/gobject-generate-headers.pl defines-unstable > ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdomdefines-unstable.h
798 )
799
800 add_custom_command(
801     OUTPUT ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdom.h
802     DEPENDS ${WEBCORE_DIR}/bindings/scripts/gobject-generate-headers.pl
803     COMMAND echo ${GObjectDOMBindingsStable_CLASS_LIST} | ${PERL_EXECUTABLE} ${WEBCORE_DIR}/bindings/scripts/gobject-generate-headers.pl gdom > ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/webkitdom.h
804 )
805
806 # Some of the static headers are included by generated public headers with include <webkitdom/WebKitDOMFoo.h>.
807 # We need those headers in the derived sources to be in webkitdom directory.
808 set(GObjectDOMBindings_STATIC_HEADER_NAMES ${GObjectDOMBindings_STATIC_CLASS_LIST} CustomUnstable)
809 foreach (classname ${GObjectDOMBindings_STATIC_HEADER_NAMES})
810     add_custom_command(
811         OUTPUT ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/WebKitDOM${classname}.h
812         DEPENDS ${WEBCORE_DIR}/bindings/gobject/WebKitDOM${classname}.h
813         COMMAND ln -n -s -f ${WEBCORE_DIR}/bindings/gobject/WebKitDOM${classname}.h ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}
814     )
815     list(APPEND GObjectDOMBindings_STATIC_GENERATED_SOURCES ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/WebKitDOM${classname}.h)
816 endforeach ()
817
818 add_custom_target(fake-generated-webkitdom-headers
819     DEPENDS ${GObjectDOMBindings_STATIC_GENERATED_SOURCES}
820 )
821
822 set(GObjectDOMBindings_IDL_FILES ${GObjectDOMBindingsStable_IDL_FILES} ${GObjectDOMBindingsUnstable_IDL_FILES})
823 set(ADDITIONAL_BINDINGS_DEPENDENCIES
824     ${WEBCORE_DIR}/bindings/gobject/webkitdom.symbols
825     ${WINDOW_CONSTRUCTORS_FILE}
826     ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
827     ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
828 )
829 GENERATE_BINDINGS(GObjectDOMBindings_SOURCES
830     "${GObjectDOMBindings_IDL_FILES}"
831     "${WEBCORE_DIR}"
832     "${IDL_INCLUDES}"
833     "${GOBJECT_DOM_BINDINGS_FEATURES_DEFINES}"
834     ${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}
835     WebKitDOM GObject cpp
836     ${IDL_ATTRIBUTES_FILE}
837     ${SUPPLEMENTAL_DEPENDENCY_FILE}
838     ${ADDITIONAL_BINDINGS_DEPENDENCIES})
839
840 add_definitions(-DBUILDING_WEBKIT)
841 add_definitions(-DWEBKIT_DOM_USE_UNSTABLE_API)
842
843 add_library(GObjectDOMBindings STATIC ${GObjectDOMBindings_SOURCES})
844
845 WEBKIT_SET_EXTRA_COMPILER_FLAGS(GObjectDOMBindings)
846
847 add_dependencies(GObjectDOMBindings
848     WebCore
849     fake-generated-webkitdom-headers
850 )
851
852 file(WRITE ${CMAKE_BINARY_DIR}/gtkdoc-webkitdom.cfg
853     "[webkitdomgtk-${WEBKITGTK_API_VERSION}]\n"
854     "pkgconfig_file=${WebKit2_PKGCONFIG_FILE}\n"
855     "namespace=webkit_dom\n"
856     "cflags=-I${CMAKE_SOURCE_DIR}/Source\n"
857     "       -I${WEBCORE_DIR}/bindings\n"
858     "       -I${WEBCORE_DIR}/bindings/gobject\n"
859     "       -I${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}\n"
860     "doc_dir=${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}/docs\n"
861     "source_dirs=${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}\n"
862     "            ${WEBCORE_DIR}/bindings/gobject\n"
863     "headers=${GObjectDOMBindingsStable_INSTALLED_HEADERS}\n"
864     "main_sgml_file=webkitdomgtk-docs.sgml\n"
865 )
866
867 install(FILES ${GObjectDOMBindingsStable_INSTALLED_HEADERS}
868         DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/webkitdom"
869 )
870
871 # Make unstable header optional if they don't exist
872 install(FILES ${GObjectDOMBindingsUnstable_INSTALLED_HEADERS}
873         DESTINATION "${WEBKITGTK_HEADER_INSTALL_DIR}/webkitdom"
874         OPTIONAL
875 )
876
877 # Some installed headers are not on the list of headers used for gir generation.
878 set(GObjectDOMBindings_GIR_HEADERS ${GObjectDOMBindingsStable_INSTALLED_HEADERS})
879 list(REMOVE_ITEM GObjectDOMBindings_GIR_HEADERS
880      bindings/gobject/WebKitDOMEventTarget.h
881      bindings/gobject/WebKitDOMNodeFilter.h
882      bindings/gobject/WebKitDOMObject.h
883      bindings/gobject/WebKitDOMXPathNSResolver.h
884 )
885
886 # Propagate this variable to the parent scope, so that it can be used in other parts of the build.
887 set(GObjectDOMBindings_GIR_HEADERS ${GObjectDOMBindings_GIR_HEADERS} PARENT_SCOPE)
888
889 if (ENABLE_SUBTLE_CRYPTO)
890     list(APPEND WebCore_SOURCES
891         crypto/CryptoAlgorithm.cpp
892         crypto/CryptoAlgorithmDescriptionBuilder.cpp
893         crypto/CryptoAlgorithmRegistry.cpp
894         crypto/CryptoKey.cpp
895         crypto/CryptoKeyPair.cpp
896         crypto/SubtleCrypto.cpp
897         crypto/algorithms/CryptoAlgorithmAES_CBC.cpp
898         crypto/algorithms/CryptoAlgorithmAES_KW.cpp
899         crypto/algorithms/CryptoAlgorithmHMAC.cpp
900         crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp
901         crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp
902         crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
903         crypto/algorithms/CryptoAlgorithmSHA1.cpp
904         crypto/algorithms/CryptoAlgorithmSHA224.cpp
905         crypto/algorithms/CryptoAlgorithmSHA256.cpp
906         crypto/algorithms/CryptoAlgorithmSHA384.cpp
907         crypto/algorithms/CryptoAlgorithmSHA512.cpp
908
909         crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp
910         crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp
911         crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp
912         crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp
913         crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp
914         crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp
915         crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp
916         crypto/gnutls/CryptoDigestGnuTLS.cpp
917         crypto/gnutls/CryptoKeyRSAGnuTLS.cpp
918         crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp
919
920         crypto/keys/CryptoKeyAES.cpp
921         crypto/keys/CryptoKeyDataOctetSequence.cpp
922         crypto/keys/CryptoKeyDataRSAComponents.cpp
923         crypto/keys/CryptoKeyHMAC.cpp
924         crypto/keys/CryptoKeySerializationRaw.cpp
925     )
926
927     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
928         ${GNUTLS_INCLUDE_DIRS}
929     )
930     list(APPEND WebCore_LIBRARIES
931         ${GNUTLS_LIBRARIES}
932     )
933 endif ()