[WK2][EFL] Accelerated compositing support using TextureMapper on Efl WebKit2
[WebKit-https.git] / Source / WebCore / PlatformEfl.cmake
1 LIST(APPEND WebCore_LINK_FLAGS
2     ${ECORE_X_LDFLAGS}
3     ${EFLDEPS_LDFLAGS}
4 )
5
6 LIST(APPEND WebCore_INCLUDE_DIRECTORIES
7   "${WEBCORE_DIR}/accessibility/efl"
8   "${WEBCORE_DIR}/page/efl"
9   "${WEBCORE_DIR}/platform/efl"
10   "${WEBCORE_DIR}/platform/graphics/efl"
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   "${WEBKIT_DIR}/efl/WebCoreSupport"
17   "${WEBKIT_DIR}/efl/ewk"
18 )
19
20 LIST(APPEND WebCore_SOURCES
21   accessibility/efl/AccessibilityObjectEfl.cpp
22   bindings/js/ScriptControllerEfl.cpp
23   page/efl/DragControllerEfl.cpp
24   page/efl/EventHandlerEfl.cpp
25   platform/Cursor.cpp
26   platform/efl/BatteryProviderEfl.cpp
27   platform/efl/ClipboardEfl.cpp
28   platform/efl/ColorChooserEfl.cpp
29   platform/efl/ContextMenuEfl.cpp
30   platform/efl/ContextMenuItemEfl.cpp
31   platform/efl/CursorEfl.cpp
32   platform/efl/DragDataEfl.cpp
33   platform/efl/DragImageEfl.cpp
34   platform/efl/EflKeyboardUtilities.cpp
35   platform/efl/EflScreenUtilities.cpp
36   platform/efl/ErrorsEfl.cpp
37   platform/efl/EventLoopEfl.cpp
38   platform/efl/FileSystemEfl.cpp
39   platform/efl/GamepadsEfl.cpp
40   platform/efl/KURLEfl.cpp
41   platform/efl/LanguageEfl.cpp
42   platform/efl/LocalizedStringsEfl.cpp
43   platform/efl/LoggingEfl.cpp
44   platform/efl/MIMETypeRegistryEfl.cpp
45   platform/efl/NetworkInfoProviderEfl.cpp
46   platform/efl/PasteboardEfl.cpp
47   platform/efl/PlatformKeyboardEventEfl.cpp
48   platform/efl/PlatformMouseEventEfl.cpp
49   platform/efl/PlatformScreenEfl.cpp
50   platform/efl/PlatformTouchEventEfl.cpp
51   platform/efl/PlatformTouchPointEfl.cpp
52   platform/efl/PlatformWheelEventEfl.cpp
53   platform/efl/PopupMenuEfl.cpp
54   platform/efl/RefPtrEfl.cpp
55   platform/efl/RenderThemeEfl.cpp
56   platform/efl/RunLoopEfl.cpp
57   platform/efl/ScrollViewEfl.cpp
58   platform/efl/ScrollbarEfl.cpp
59   platform/efl/ScrollbarThemeEfl.cpp
60   platform/efl/SearchPopupMenuEfl.cpp
61   platform/efl/SharedBufferEfl.cpp
62   platform/efl/SharedTimerEfl.cpp
63   platform/efl/SoundEfl.cpp
64   platform/efl/SystemTimeEfl.cpp
65   platform/efl/TemporaryLinkStubs.cpp
66   platform/efl/WidgetEfl.cpp
67   platform/graphics/ImageSource.cpp
68   platform/graphics/efl/IconEfl.cpp
69   platform/graphics/efl/ImageEfl.cpp
70   platform/graphics/efl/IntPointEfl.cpp
71   platform/graphics/efl/IntRectEfl.cpp
72   platform/image-decoders/ImageDecoder.cpp
73   platform/image-decoders/bmp/BMPImageDecoder.cpp
74   platform/image-decoders/bmp/BMPImageReader.cpp
75   platform/image-decoders/gif/GIFImageDecoder.cpp
76   platform/image-decoders/gif/GIFImageReader.cpp
77   platform/image-decoders/ico/ICOImageDecoder.cpp
78   platform/image-decoders/jpeg/JPEGImageDecoder.cpp
79   platform/image-decoders/png/PNGImageDecoder.cpp
80   platform/image-decoders/webp/WEBPImageDecoder.cpp
81   platform/linux/GamepadDeviceLinux.cpp
82   platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp
83   platform/network/soup/CookieJarSoup.cpp
84   platform/network/soup/CookieStorageSoup.cpp
85   platform/network/soup/CredentialStorageSoup.cpp
86   platform/network/soup/DNSSoup.cpp
87   platform/network/soup/GOwnPtrSoup.cpp
88   platform/network/soup/ProxyResolverSoup.cpp
89   platform/network/soup/ProxyServerSoup.cpp
90   platform/network/soup/ResourceHandleSoup.cpp
91   platform/network/soup/ResourceRequestSoup.cpp
92   platform/network/soup/ResourceResponseSoup.cpp
93   platform/network/soup/SocketStreamHandleSoup.cpp
94   platform/network/soup/SoupURIUtils.cpp
95   platform/PlatformStrategies.cpp
96   platform/posix/FileSystemPOSIX.cpp
97   platform/text/efl/TextBreakIteratorInternalICUEfl.cpp
98 )
99
100 IF (ENABLE_NETSCAPE_PLUGIN_API)
101   LIST(APPEND WebCore_SOURCES
102     plugins/PluginDatabase.cpp
103     plugins/PluginDebug.cpp
104     plugins/PluginPackage.cpp
105     plugins/PluginStream.cpp
106     plugins/PluginView.cpp
107
108     plugins/efl/PluginPackageEfl.cpp
109     plugins/efl/PluginViewEfl.cpp
110   )
111 ELSE ()
112   LIST(APPEND WebCore_SOURCES
113     plugins/PluginPackageNone.cpp
114     plugins/PluginViewNone.cpp
115   )
116 ENDIF ()
117
118 LIST(APPEND WebCore_USER_AGENT_STYLE_SHEETS
119     ${WEBCORE_DIR}/css/mediaControlsEfl.css
120     ${WEBCORE_DIR}/css/mediaControlsEflFullscreen.css
121 )
122
123 IF (WTF_USE_CAIRO)
124   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
125     "${WEBCORE_DIR}/platform/cairo"
126     "${WEBCORE_DIR}/platform/graphics/cairo"
127   )
128   LIST(APPEND WebCore_SOURCES
129     platform/cairo/WidgetBackingStoreCairo.cpp
130     platform/graphics/cairo/BitmapImageCairo.cpp
131     platform/graphics/cairo/CairoUtilities.cpp
132     platform/graphics/cairo/FontCairo.cpp
133     platform/graphics/cairo/GradientCairo.cpp
134     platform/graphics/cairo/GraphicsContextCairo.cpp
135     platform/graphics/cairo/ImageBufferCairo.cpp
136     platform/graphics/cairo/ImageCairo.cpp
137     platform/graphics/cairo/IntRectCairo.cpp
138     platform/graphics/cairo/NativeImageCairo.cpp
139     platform/graphics/cairo/OwnPtrCairo.cpp
140     platform/graphics/cairo/PathCairo.cpp
141     platform/graphics/cairo/PatternCairo.cpp
142     platform/graphics/cairo/PlatformContextCairo.cpp
143     platform/graphics/cairo/PlatformPathCairo.cpp
144     platform/graphics/cairo/RefPtrCairo.cpp
145     platform/graphics/cairo/TileCairo.cpp
146     platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp
147     platform/graphics/cairo/TransformationMatrixCairo.cpp
148
149     platform/image-decoders/cairo/ImageDecoderCairo.cpp
150   )
151
152   IF (WTF_USE_FREETYPE)
153     LIST(APPEND WebCore_INCLUDE_DIRECTORIES
154       "${WEBCORE_DIR}/platform/graphics/freetype"
155       "${WEBCORE_DIR}/platform/graphics/harfbuzz/"
156       "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
157     )
158     LIST(APPEND WebCore_SOURCES
159       platform/graphics/WOFFFileFormat.cpp
160       platform/graphics/cairo/FontCairoHarfbuzzNG.cpp
161       platform/graphics/freetype/FontCacheFreeType.cpp
162       platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp
163       platform/graphics/freetype/FontPlatformDataFreeType.cpp
164       platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp
165       platform/graphics/freetype/SimpleFontDataFreeType.cpp
166       platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp
167       platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp
168       platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCairo.cpp
169       platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp
170     )
171     LIST(APPEND WebCore_LIBRARIES
172       ${HARFBUZZ_LIBRARIES}
173     )
174   ENDIF ()
175
176   IF (WTF_USE_PANGO)
177     LIST(APPEND WebCore_INCLUDE_DIRECTORIES
178       "${WEBCORE_DIR}/platform/graphics/pango"
179       ${Pango_INCLUDE_DIRS}
180     )
181     LIST(APPEND WebCore_SOURCES
182       platform/graphics/pango/FontPango.cpp
183       platform/graphics/pango/FontCachePango.cpp
184       platform/graphics/pango/FontCustomPlatformDataPango.cpp
185       platform/graphics/pango/FontPlatformDataPango.cpp
186       platform/graphics/pango/GlyphPageTreeNodePango.cpp
187       platform/graphics/pango/SimpleFontDataPango.cpp
188       platform/graphics/pango/PangoUtilities.cpp
189     )
190     LIST(APPEND WebCore_LIBRARIES
191       ${Pango_LIBRARY}
192       ${Pango_Cairo_LIBRARY}
193     )
194   ENDIF ()
195 ENDIF ()
196
197 IF (WTF_USE_ICU_UNICODE)
198   LIST(APPEND WebCore_SOURCES
199     editing/SmartReplaceICU.cpp
200     platform/text/TextEncodingDetectorICU.cpp
201     platform/text/TextBreakIteratorICU.cpp
202     platform/text/TextCodecICU.cpp
203   )
204 ENDIF ()
205
206 IF (WTF_USE_TEXTURE_MAPPER)
207   LIST(APPEND WebCore_SOURCES
208     platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
209   )
210 ELSE ()
211   LIST(APPEND WebCore_SOURCES
212     platform/graphics/efl/GraphicsLayerEfl.cpp
213   )
214 ENDIF ()
215
216 LIST(APPEND WebCore_LIBRARIES
217   ${CAIRO_LIBRARIES}
218   ${ECORE_X_LIBRARIES}
219   ${EFLDEPS_LIBRARIES}
220   ${EVAS_LIBRARIES}
221   ${FONTCONFIG_LIBRARIES}
222   ${FREETYPE_LIBRARIES}
223   ${ICU_LIBRARIES}
224   ${JPEG_LIBRARY}
225   ${LIBXML2_LIBRARIES}
226   ${LIBXSLT_LIBRARIES}
227   ${PNG_LIBRARY}
228   ${SQLITE_LIBRARIES}
229   ${Glib_LIBRARIES}
230   ${LIBSOUP24_LIBRARIES}
231   ${ZLIB_LIBRARIES}
232 )
233
234 LIST(APPEND WebCore_INCLUDE_DIRECTORIES
235   ${CAIRO_INCLUDE_DIRS}
236   ${ECORE_X_INCLUDE_DIRS}
237   ${EFLDEPS_INCLUDE_DIRS}
238   ${EVAS_INCLUDE_DIRS}
239   ${FREETYPE_INCLUDE_DIRS}
240   ${ICU_INCLUDE_DIRS}
241   ${LIBXML2_INCLUDE_DIR}
242   ${LIBXSLT_INCLUDE_DIR}
243   ${SQLITE_INCLUDE_DIR}
244   ${Glib_INCLUDE_DIRS}
245   ${LIBSOUP24_INCLUDE_DIRS}
246   ${ZLIB_INCLUDE_DIRS}
247 )
248
249 IF (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
250   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
251     "${WEBCORE_DIR}/platform/graphics/gstreamer"
252
253     ${GSTREAMER_INCLUDE_DIRS}
254     ${GSTREAMER_BASE_INCLUDE_DIRS}
255     ${GSTREAMER_APP_INCLUDE_DIRS}
256     ${GSTREAMER_INTERFACES_INCLUDE_DIRS}
257     ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
258   )
259   LIST(APPEND WebCore_SOURCES
260     platform/graphics/gstreamer/GRefPtrGStreamer.cpp
261     platform/graphics/gstreamer/GStreamerUtilities.cpp
262     platform/graphics/gstreamer/GStreamerVersioning.cpp
263   )
264   LIST(APPEND WebCore_LIBRARIES
265     ${GSTREAMER_LIBRARIES}
266     ${GSTREAMER_BASE_LIBRARIES}
267     ${GSTREAMER_APP_LIBRARIES}
268     ${GSTREAMER_INTERFACES_LIBRARIES}
269     ${GSTREAMER_PBUTILS_LIBRARIES}
270   )
271 ENDIF ()
272
273 IF (ENABLE_VIDEO)
274   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
275     ${GSTREAMER_VIDEO_INCLUDE_DIRS}
276   )
277   LIST(APPEND WebCore_SOURCES
278     platform/graphics/gstreamer/GStreamerGWorld.cpp
279     platform/graphics/gstreamer/ImageGStreamerCairo.cpp
280     platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
281     platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp
282     platform/graphics/gstreamer/VideoSinkGStreamer.cpp
283     platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
284   )
285   LIST(APPEND WebCore_LIBRARIES
286     ${GSTREAMER_VIDEO_LIBRARIES}
287   )
288 ENDIF ()
289
290 IF (WTF_USE_3D_GRAPHICS)
291   SET(WTF_USE_OPENGL 1)
292   ADD_DEFINITIONS(-DWTF_USE_OPENGL=1)
293
294   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
295     "${WEBCORE_DIR}/platform/graphics/cairo"
296     "${WEBCORE_DIR}/platform/graphics/opengl"
297     "${WEBCORE_DIR}/platform/graphics/texmap"
298   )
299   LIST(APPEND WebCore_LIBRARIES
300     ${OPENGL_gl_LIBRARY}
301   )
302   LIST(APPEND WebCore_SOURCES
303     platform/graphics/OpenGLShims.cpp
304     platform/graphics/cairo/DrawingBufferCairo.cpp
305     platform/graphics/cairo/GLContext.cpp
306     platform/graphics/cairo/GraphicsContext3DCairo.cpp
307     platform/graphics/cairo/GraphicsContext3DPrivate.cpp
308     platform/graphics/opengl/Extensions3DOpenGL.cpp
309     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
310     platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
311     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
312     platform/graphics/texmap/TextureMapperGL.cpp
313     platform/graphics/texmap/TextureMapperShaderManager.cpp
314   )
315 ENDIF ()
316
317 ADD_DEFINITIONS(-DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1
318                 -DDATA_DIR="${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}")
319
320 IF (ENABLE_WEB_AUDIO)
321   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
322     "${WEBCORE_DIR}/platform/audio/gstreamer"
323
324     ${GSTREAMER_AUDIO_INCLUDE_DIRS}
325     ${GSTREAMER_FFT_INCLUDE_DIRS}
326   )
327   LIST(APPEND WebCore_SOURCES
328     platform/audio/efl/AudioBusEfl.cpp
329     platform/audio/gstreamer/AudioDestinationGStreamer.cpp
330     platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
331     platform/audio/gstreamer/FFTFrameGStreamer.cpp
332     platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp
333   )
334   LIST(APPEND WebCore_LIBRARIES
335     ${GSTREAMER_AUDIO_LIBRARIES}
336     ${GSTREAMER_FFT_LIBRARIES}
337   )
338   SET(WEB_AUDIO_DIR ${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/webaudio/resources)
339   FILE(GLOB WEB_AUDIO_DATA "${WEBCORE_DIR}/platform/audio/resources/*.wav")
340   INSTALL(FILES ${WEB_AUDIO_DATA} DESTINATION ${WEB_AUDIO_DIR})
341   ADD_DEFINITIONS(-DUNINSTALLED_AUDIO_RESOURCES_DIR="${WEBCORE_DIR}/platform/audio/resources")
342 ENDIF ()
343
344 IF (ENABLE_GAMEPAD OR ENABLE_NETWORK_INFO)
345   LIST(APPEND WebCore_INCLUDE_DIRECTORIES
346     ${EEZE_INCLUDE_DIRS}
347   )
348   LIST(APPEND WebCore_LIBRARIES
349     ${EEZE_LIBRARIES}
350   )
351 ENDIF ()
352