1list(APPEND WebCore_INCLUDE_DIRECTORIES
2    "${WEBCORE_DIR}/editing/atk"
3    "${WEBCORE_DIR}/page/efl"
4    "${WEBCORE_DIR}/page/scrolling/coordinatedgraphics"
5    "${WEBCORE_DIR}/platform/cairo"
6    "${WEBCORE_DIR}/platform/efl"
7    "${WEBCORE_DIR}/platform/geoclue"
8    "${WEBCORE_DIR}/platform/graphics/cairo"
9    "${WEBCORE_DIR}/platform/graphics/efl"
10    "${WEBCORE_DIR}/platform/graphics/freetype"
11    "${WEBCORE_DIR}/platform/graphics/harfbuzz/"
12    "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
13    "${WEBCORE_DIR}/platform/graphics/opentype"
14    "${WEBCORE_DIR}/platform/graphics/texmap/coordinated"
15    "${WEBCORE_DIR}/platform/linux"
16    "${WEBCORE_DIR}/platform/mediastream/gstreamer"
17    "${WEBCORE_DIR}/platform/mock/mediasource"
18    "${WEBCORE_DIR}/platform/network/soup"
19    "${WEBCORE_DIR}/platform/text/efl"
20    "${WEBCORE_DIR}/plugins/efl"
21)
22
23list(APPEND WebCore_SOURCES
24    accessibility/atk/AXObjectCacheAtk.cpp
25    accessibility/atk/AccessibilityObjectAtk.cpp
26    accessibility/atk/WebKitAccessibleHyperlink.cpp
27    accessibility/atk/WebKitAccessibleInterfaceAction.cpp
28    accessibility/atk/WebKitAccessibleInterfaceComponent.cpp
29    accessibility/atk/WebKitAccessibleInterfaceDocument.cpp
30    accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp
31    accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp
32    accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp
33    accessibility/atk/WebKitAccessibleInterfaceImage.cpp
34    accessibility/atk/WebKitAccessibleInterfaceSelection.cpp
35    accessibility/atk/WebKitAccessibleInterfaceTable.cpp
36    accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp
37    accessibility/atk/WebKitAccessibleInterfaceText.cpp
38    accessibility/atk/WebKitAccessibleInterfaceValue.cpp
39    accessibility/atk/WebKitAccessibleUtil.cpp
40    accessibility/atk/WebKitAccessibleWrapperAtk.cpp
41
42    editing/SmartReplace.cpp
43
44    editing/atk/FrameSelectionAtk.cpp
45
46    editing/efl/EditorEfl.cpp
47
48    html/shadow/MediaControlsApple.cpp
49
50    loader/soup/CachedRawResourceSoup.cpp
51    loader/soup/SubresourceLoaderSoup.cpp
52
53    page/efl/DragControllerEfl.cpp
54    page/efl/EventHandlerEfl.cpp
55
56    page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp
57    page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp
58    page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp
59
60    platform/ContextMenuItemNone.cpp
61    platform/ContextMenuNone.cpp
62    platform/Cursor.cpp
63
64    platform/audio/efl/AudioBusEfl.cpp
65
66    platform/audio/gstreamer/AudioDestinationGStreamer.cpp
67    platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
68    platform/audio/gstreamer/FFTFrameGStreamer.cpp
69    platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp
70
71    platform/cairo/WidgetBackingStoreCairo.cpp
72
73    platform/efl/BatteryProviderEfl.cpp
74    platform/efl/CursorEfl.cpp
75    platform/efl/DragDataEfl.cpp
76    platform/efl/DragImageEfl.cpp
77    platform/efl/EflInspectorUtilities.cpp
78    platform/efl/EflKeyboardUtilities.cpp
79    platform/efl/EflScreenUtilities.cpp
80    platform/efl/ErrorsEfl.cpp
81    platform/efl/EventLoopEfl.cpp
82    platform/efl/FileSystemEfl.cpp
83    platform/efl/GamepadsEfl.cpp
84    platform/efl/LanguageEfl.cpp
85    platform/efl/LocalizedStringsEfl.cpp
86    platform/efl/LoggingEfl.cpp
87    platform/efl/MIMETypeRegistryEfl.cpp
88    platform/efl/PasteboardEfl.cpp
89    platform/efl/PlatformKeyboardEventEfl.cpp
90    platform/efl/PlatformMouseEventEfl.cpp
91    platform/efl/PlatformScreenEfl.cpp
92    platform/efl/PlatformWheelEventEfl.cpp
93    platform/efl/RenderThemeEfl.cpp
94    platform/efl/ScrollbarEfl.cpp
95    platform/efl/ScrollbarThemeEfl.cpp
96    platform/efl/SharedTimerEfl.cpp
97    platform/efl/SoundEfl.cpp
98    platform/efl/TemporaryLinkStubs.cpp
99    platform/efl/WidgetEfl.cpp
100
101    platform/geoclue/GeolocationProviderGeoclue1.cpp
102    platform/geoclue/GeolocationProviderGeoclue2.cpp
103
104    platform/graphics/WOFFFileFormat.cpp
105
106    platform/graphics/cairo/BitmapImageCairo.cpp
107    platform/graphics/cairo/CairoUtilities.cpp
108    platform/graphics/cairo/FontCairo.cpp
109    platform/graphics/cairo/FontCairoHarfbuzzNG.cpp
110    platform/graphics/cairo/GradientCairo.cpp
111    platform/graphics/cairo/GraphicsContextCairo.cpp
112    platform/graphics/cairo/ImageBufferCairo.cpp
113    platform/graphics/cairo/ImageCairo.cpp
114    platform/graphics/cairo/IntRectCairo.cpp
115    platform/graphics/cairo/OwnPtrCairo.cpp
116    platform/graphics/cairo/PathCairo.cpp
117    platform/graphics/cairo/PatternCairo.cpp
118    platform/graphics/cairo/PlatformContextCairo.cpp
119    platform/graphics/cairo/PlatformPathCairo.cpp
120    platform/graphics/cairo/RefPtrCairo.cpp
121    platform/graphics/cairo/TransformationMatrixCairo.cpp
122
123    platform/graphics/efl/CairoUtilitiesEfl.cpp
124    platform/graphics/efl/IconEfl.cpp
125    platform/graphics/efl/ImageEfl.cpp
126    platform/graphics/efl/IntPointEfl.cpp
127    platform/graphics/efl/IntRectEfl.cpp
128
129    platform/graphics/freetype/FontCacheFreeType.cpp
130    platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp
131    platform/graphics/freetype/FontPlatformDataFreeType.cpp
132    platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp
133    platform/graphics/freetype/SimpleFontDataFreeType.cpp
134
135    platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp
136    platform/graphics/gstreamer/GRefPtrGStreamer.cpp
137    platform/graphics/gstreamer/GStreamerUtilities.cpp
138    platform/graphics/gstreamer/ImageGStreamerCairo.cpp
139    platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp
140    platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
141    platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
142    platform/graphics/gstreamer/MediaSourceGStreamer.cpp
143    platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp
144    platform/graphics/gstreamer/TextCombinerGStreamer.cpp
145    platform/graphics/gstreamer/TextSinkGStreamer.cpp
146    platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp
147    platform/graphics/gstreamer/VideoSinkGStreamer.cpp
148    platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp
149    platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp
150    platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
151
152    platform/graphics/harfbuzz/HarfBuzzFace.cpp
153    platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp
154    platform/graphics/harfbuzz/HarfBuzzShaper.cpp
155
156    platform/graphics/opentype/OpenTypeVerticalData.cpp
157
158    platform/graphics/texmap/coordinated/AreaAllocator.cpp
159    platform/graphics/texmap/coordinated/CompositingCoordinator.cpp
160    platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp
161    platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp
162    platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp
163    platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp
164    platform/graphics/texmap/coordinated/CoordinatedSurface.cpp
165    platform/graphics/texmap/coordinated/CoordinatedTile.cpp
166    platform/graphics/texmap/coordinated/UpdateAtlas.cpp
167
168    platform/image-decoders/cairo/ImageDecoderCairo.cpp
169
170    platform/linux/GamepadDeviceLinux.cpp
171
172    platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp
173
174    platform/network/efl/NetworkStateNotifierEfl.cpp
175
176    platform/network/soup/AuthenticationChallengeSoup.cpp
177    platform/network/soup/CertificateInfo.cpp
178    platform/network/soup/CookieJarSoup.cpp
179    platform/network/soup/CookieStorageSoup.cpp
180    platform/network/soup/CredentialStorageSoup.cpp
181    platform/network/soup/DNSSoup.cpp
182    platform/network/soup/NetworkStorageSessionSoup.cpp
183    platform/network/soup/ProxyResolverSoup.cpp
184    platform/network/soup/ProxyServerSoup.cpp
185    platform/network/soup/ResourceErrorSoup.cpp
186    platform/network/soup/ResourceHandleSoup.cpp
187    platform/network/soup/ResourceRequestSoup.cpp
188    platform/network/soup/ResourceResponseSoup.cpp
189    platform/network/soup/SocketStreamHandleSoup.cpp
190    platform/network/soup/SoupNetworkSession.cpp
191    platform/network/soup/SynchronousLoaderClientSoup.cpp
192
193    platform/posix/FileSystemPOSIX.cpp
194    platform/posix/SharedBufferPOSIX.cpp
195
196    platform/soup/SharedBufferSoup.cpp
197    platform/soup/URLSoup.cpp
198
199    platform/text/LocaleICU.cpp
200
201    platform/text/efl/TextBreakIteratorInternalICUEfl.cpp
202
203    platform/text/enchant/TextCheckerEnchant.cpp
204
205    plugins/PluginPackageNone.cpp
206    plugins/PluginViewNone.cpp
207)
208
209if (ENABLE_BATTERY_STATUS OR (EFL_REQUIRED_VERSION VERSION_LESS 1.8))
210    list(APPEND WebCore_INCLUDE_DIRECTORIES ${DBUS_INCLUDE_DIRS})
211    list(APPEND WebCore_INCLUDE_DIRECTORIES ${E_DBUS_INCLUDE_DIRS})
212    list(APPEND WebCore_INCLUDE_DIRECTORIES ${E_DBUS_EUKIT_INCLUDE_DIRS})
213    list(APPEND WebCore_LIBRARIES ${DBUS_LIBRARIES})
214    list(APPEND WebCore_LIBRARIES ${E_DBUS_LIBRARIES})
215    list(APPEND WebCore_LIBRARIES ${E_DBUS_EUKIT_LIBRARIES})
216endif ()
217
218list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
219    ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.css
220)
221
222if (WTF_USE_TEXTURE_MAPPER)
223    list(APPEND WebCore_SOURCES
224        platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
225    )
226endif ()
227
228set(WebCore_USER_AGENT_SCRIPTS
229    ${WEBCORE_DIR}/English.lproj/mediaControlsLocalizedStrings.js
230    ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsApple.js
231)
232
233set(WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES ${WEBCORE_DIR}/platform/efl/RenderThemeEfl.cpp)
234
235list(APPEND WebCore_LIBRARIES
236    ${CAIRO_LIBRARIES}
237    ${ECORE_EVAS_LIBRARIES}
238    ${ECORE_FILE_LIBRARIES}
239    ${ECORE_LIBRARIES}
240    ${ECORE_X_LIBRARIES}
241    ${EDJE_LIBRARIES}
242    ${EEZE_LIBRARIES}
243    ${EINA_LIBRARIES}
244    ${EO_LIBRARIES}
245    ${EVAS_LIBRARIES}
246    ${FONTCONFIG_LIBRARIES}
247    ${FREETYPE2_LIBRARIES}
248    ${GEOCLUE_LIBRARIES}
249    ${GLIB_GIO_LIBRARIES}
250    ${GLIB_GOBJECT_LIBRARIES}
251    ${GLIB_LIBRARIES}
252    ${HARFBUZZ_LIBRARIES}
253    ${JPEG_LIBRARIES}
254    ${LIBSOUP_LIBRARIES}
255    ${LIBXML2_LIBRARIES}
256    ${LIBXSLT_LIBRARIES}
257    ${PNG_LIBRARIES}
258    ${SQLITE_LIBRARIES}
259    ${ZLIB_LIBRARIES}
260)
261
262list(APPEND WebCore_INCLUDE_DIRECTORIES
263    ${CAIRO_INCLUDE_DIRS}
264    ${ECORE_INCLUDE_DIRS}
265    ${ECORE_EVAS_INCLUDE_DIRS}
266    ${ECORE_FILE_INCLUDE_DIRS}
267    ${ECORE_X_INCLUDE_DIRS}
268    ${EO_INCLUDE_DIRS}
269    ${EDJE_INCLUDE_DIRS}
270    ${EEZE_INCLUDE_DIRS}
271    ${EINA_INCLUDE_DIRS}
272    ${EVAS_INCLUDE_DIRS}
273    ${FREETYPE2_INCLUDE_DIRS}
274    ${GEOCLUE_INCLUDE_DIRS}
275    ${LIBXML2_INCLUDE_DIR}
276    ${LIBXSLT_INCLUDE_DIR}
277    ${SQLITE_INCLUDE_DIR}
278    ${GLIB_INCLUDE_DIRS}
279    ${LIBSOUP_INCLUDE_DIRS}
280    ${ZLIB_INCLUDE_DIRS}
281    ${HARFBUZZ_INCLUDE_DIRS}
282)
283
284if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
285    list(APPEND WebCore_INCLUDE_DIRECTORIES
286        "${WEBCORE_DIR}/platform/graphics/gstreamer"
287
288        ${GSTREAMER_INCLUDE_DIRS}
289        ${GSTREAMER_BASE_INCLUDE_DIRS}
290        ${GSTREAMER_APP_INCLUDE_DIRS}
291        ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
292    )
293
294    list(APPEND WebCore_LIBRARIES
295        ${GSTREAMER_APP_LIBRARIES}
296        ${GSTREAMER_BASE_LIBRARIES}
297        ${GSTREAMER_LIBRARIES}
298        ${GSTREAMER_PBUTILS_LIBRARIES}
299    )
300    # Avoiding a GLib deprecation warning due to GStreamer API using deprecated classes.
301    set_source_files_properties(platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp PROPERTIES COMPILE_DEFINITIONS "GLIB_DISABLE_DEPRECATION_WARNINGS=1")
302endif ()
303
304if (ENABLE_VIDEO)
305    list(APPEND WebCore_INCLUDE_DIRECTORIES
306        ${GSTREAMER_TAG_INCLUDE_DIRS}
307        ${GSTREAMER_VIDEO_INCLUDE_DIRS}
308    )
309    list(APPEND WebCore_LIBRARIES
310        ${GSTREAMER_TAG_LIBRARIES}
311        ${GSTREAMER_VIDEO_LIBRARIES}
312    )
313endif ()
314
315if (WTF_USE_3D_GRAPHICS)
316    list(APPEND WebCore_INCLUDE_DIRECTORIES
317        "${WEBCORE_DIR}/platform/graphics/opengl"
318        "${WEBCORE_DIR}/platform/graphics/surfaces"
319        "${WEBCORE_DIR}/platform/graphics/surfaces/efl"
320        "${WEBCORE_DIR}/platform/graphics/surfaces/glx"
321        "${WEBCORE_DIR}/platform/graphics/texmap"
322    )
323
324    if (WTF_USE_EGL)
325        list(APPEND WebCore_INCLUDE_DIRECTORIES
326            ${EGL_INCLUDE_DIR}
327            "${WEBCORE_DIR}/platform/graphics/surfaces/egl"
328    )
329    endif ()
330
331    list(APPEND WebCore_SOURCES
332        platform/graphics/cairo/DrawingBufferCairo.cpp
333
334        platform/graphics/efl/EvasGLContext.cpp
335        platform/graphics/efl/EvasGLSurface.cpp
336        platform/graphics/efl/GraphicsContext3DEfl.cpp
337        platform/graphics/efl/GraphicsContext3DPrivate.cpp
338
339        platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
340        platform/graphics/opengl/GLPlatformContext.cpp
341        platform/graphics/opengl/GLPlatformSurface.cpp
342        platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
343        platform/graphics/opengl/TemporaryOpenGLSetting.cpp
344
345        platform/graphics/surfaces/GLTransportSurface.cpp
346        platform/graphics/surfaces/GraphicsSurface.cpp
347
348        platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp
349
350        platform/graphics/surfaces/glx/X11Helper.cpp
351
352        platform/graphics/texmap/TextureMapperGL.cpp
353        platform/graphics/texmap/TextureMapperShaderProgram.cpp
354    )
355
356    if (WTF_USE_EGL)
357        list(APPEND WebCore_SOURCES
358            platform/graphics/surfaces/egl/EGLConfigSelector.cpp
359            platform/graphics/surfaces/egl/EGLContext.cpp
360            platform/graphics/surfaces/egl/EGLHelper.cpp
361            platform/graphics/surfaces/egl/EGLSurface.cpp
362            platform/graphics/surfaces/egl/EGLXSurface.cpp
363        )
364    else ()
365        list(APPEND WebCore_SOURCES
366            platform/graphics/surfaces/glx/GLXContext.cpp
367            platform/graphics/surfaces/glx/GLXSurface.cpp
368        )
369    endif ()
370
371    if (WTF_USE_OPENGL_ES_2)
372        list(APPEND WebCore_SOURCES
373            platform/graphics/opengl/Extensions3DOpenGLES.cpp
374            platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
375        )
376    else ()
377        list(APPEND WebCore_SOURCES
378            platform/graphics/OpenGLShims.cpp
379
380            platform/graphics/opengl/Extensions3DOpenGL.cpp
381            platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
382        )
383    endif ()
384
385    list(APPEND WebCore_LIBRARIES
386        ${X11_X11_LIB}
387    )
388
389    if (WTF_USE_EGL)
390        list(APPEND WebCore_LIBRARIES
391            ${EGL_LIBRARY}
392        )
393    elseif (X11_Xcomposite_FOUND AND X11_Xrender_FOUND)
394        list(APPEND WebCore_LIBRARIES
395            ${X11_Xcomposite_LIB}
396            ${X11_Xrender_LIB}
397        )
398    endif ()
399endif ()
400
401if (ENABLE_WEB_AUDIO)
402    list(APPEND WebCore_INCLUDE_DIRECTORIES
403        "${WEBCORE_DIR}/platform/audio/gstreamer"
404
405        ${GSTREAMER_AUDIO_INCLUDE_DIRS}
406        ${GSTREAMER_FFT_INCLUDE_DIRS}
407    )
408    list(APPEND WebCore_LIBRARIES
409        ${GSTREAMER_AUDIO_LIBRARIES}
410        ${GSTREAMER_FFT_LIBRARIES}
411    )
412    set(WEB_AUDIO_DIR ${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/webaudio/resources)
413    file(GLOB WEB_AUDIO_DATA "${WEBCORE_DIR}/platform/audio/resources/*.wav")
414    install(FILES ${WEB_AUDIO_DATA} DESTINATION ${WEB_AUDIO_DIR})
415    add_definitions(-DUNINSTALLED_AUDIO_RESOURCES_DIR="${WEBCORE_DIR}/platform/audio/resources")
416endif ()
417
418if (ENABLE_SPELLCHECK)
419    list(APPEND WebCore_INCLUDE_DIRECTORIES
420        ${ENCHANT_INCLUDE_DIRS}
421    )
422    list(APPEND WebCore_LIBRARIES
423        ${ENCHANT_LIBRARIES}
424    )
425endif ()
426
427if (ENABLE_ACCESSIBILITY)
428    list(APPEND WebCore_INCLUDE_DIRECTORIES
429        "${WEBCORE_DIR}/accessibility/atk"
430        ${ATK_INCLUDE_DIRS}
431    )
432    list(APPEND WebCore_LIBRARIES
433        ${ATK_LIBRARIES}
434    )
435endif ()
436
437if (ENABLE_SPEECH_SYNTHESIS)
438    list(APPEND WebCore_SOURCES
439        platform/efl/PlatformSpeechSynthesizerEfl.cpp
440        platform/efl/PlatformSpeechSynthesisProviderEfl.cpp
441    )
442endif ()
443