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