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