Unreviewed, fix GTK/EFL build after r197575 and add mandatory GnuTLS dependency
[WebKit-https.git] / Source / WebCore / PlatformEfl.cmake
1 include(platform/GStreamer.cmake)
2 include(platform/ImageDecoders.cmake)
3 include(platform/Linux.cmake)
4 include(platform/TextureMapper.cmake)
5
6 list(APPEND WebCore_INCLUDE_DIRECTORIES
7     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
8     "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector"
9     "${JAVASCRIPTCORE_DIR}"
10     "${JAVASCRIPTCORE_DIR}/ForwardingHeaders"
11     "${JAVASCRIPTCORE_DIR}/API"
12     "${JAVASCRIPTCORE_DIR}/assembler"
13     "${JAVASCRIPTCORE_DIR}/bytecode"
14     "${JAVASCRIPTCORE_DIR}/bytecompiler"
15     "${JAVASCRIPTCORE_DIR}/dfg"
16     "${JAVASCRIPTCORE_DIR}/disassembler"
17     "${JAVASCRIPTCORE_DIR}/heap"
18     "${JAVASCRIPTCORE_DIR}/debugger"
19     "${JAVASCRIPTCORE_DIR}/interpreter"
20     "${JAVASCRIPTCORE_DIR}/jit"
21     "${JAVASCRIPTCORE_DIR}/llint"
22     "${JAVASCRIPTCORE_DIR}/parser"
23     "${JAVASCRIPTCORE_DIR}/profiler"
24     "${JAVASCRIPTCORE_DIR}/runtime"
25     "${JAVASCRIPTCORE_DIR}/yarr"
26     "${THIRDPARTY_DIR}/ANGLE/"
27     "${THIRDPARTY_DIR}/ANGLE/include/KHR"
28     "${WEBCORE_DIR}/editing/atk"
29     "${WEBCORE_DIR}/page/efl"
30     "${WEBCORE_DIR}/platform/cairo"
31     "${WEBCORE_DIR}/platform/efl"
32     "${WEBCORE_DIR}/platform/geoclue"
33     "${WEBCORE_DIR}/platform/graphics/cairo"
34     "${WEBCORE_DIR}/platform/graphics/efl"
35     "${WEBCORE_DIR}/platform/graphics/freetype"
36     "${WEBCORE_DIR}/platform/graphics/harfbuzz/"
37     "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
38     "${WEBCORE_DIR}/platform/graphics/opengl"
39     "${WEBCORE_DIR}/platform/graphics/opentype"
40     "${WEBCORE_DIR}/platform/graphics/surfaces"
41     "${WEBCORE_DIR}/platform/graphics/surfaces/efl"
42     "${WEBCORE_DIR}/platform/graphics/surfaces/glx"
43     "${WEBCORE_DIR}/platform/graphics/x11"
44     "${WEBCORE_DIR}/platform/mock/mediasource"
45     "${WEBCORE_DIR}/platform/network/soup"
46     "${WEBCORE_DIR}/platform/text/efl"
47     "${WEBCORE_DIR}/plugins/efl"
48     "${WTF_DIR}"
49     "${WTF_DIR}/wtf/efl"
50 )
51
52 list(APPEND WebCore_SOURCES
53     accessibility/atk/AXObjectCacheAtk.cpp
54     accessibility/atk/AccessibilityObjectAtk.cpp
55     accessibility/atk/WebKitAccessibleHyperlink.cpp
56     accessibility/atk/WebKitAccessibleInterfaceAction.cpp
57     accessibility/atk/WebKitAccessibleInterfaceComponent.cpp
58     accessibility/atk/WebKitAccessibleInterfaceDocument.cpp
59     accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp
60     accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp
61     accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp
62     accessibility/atk/WebKitAccessibleInterfaceImage.cpp
63     accessibility/atk/WebKitAccessibleInterfaceSelection.cpp
64     accessibility/atk/WebKitAccessibleInterfaceTable.cpp
65     accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp
66     accessibility/atk/WebKitAccessibleInterfaceText.cpp
67     accessibility/atk/WebKitAccessibleInterfaceValue.cpp
68     accessibility/atk/WebKitAccessibleUtil.cpp
69     accessibility/atk/WebKitAccessibleWrapperAtk.cpp
70
71     editing/SmartReplace.cpp
72
73     editing/atk/FrameSelectionAtk.cpp
74
75     editing/efl/EditorEfl.cpp
76
77     html/shadow/MediaControlsApple.cpp
78
79     loader/soup/CachedRawResourceSoup.cpp
80     loader/soup/SubresourceLoaderSoup.cpp
81
82     page/efl/DragControllerEfl.cpp
83     page/efl/EventHandlerEfl.cpp
84
85     page/scrolling/AxisScrollSnapOffsets.cpp
86
87     platform/KillRingNone.cpp
88
89     platform/audio/efl/AudioBusEfl.cpp
90
91     platform/crypto/gnutls/CryptoDigestGnuTLS.cpp
92
93     platform/efl/BatteryProviderEfl.cpp
94     platform/efl/CursorEfl.cpp
95     platform/efl/DragDataEfl.cpp
96     platform/efl/DragImageEfl.cpp
97     platform/efl/EflInspectorUtilities.cpp
98     platform/efl/EflKeyboardUtilities.cpp
99     platform/efl/EflScreenUtilities.cpp
100     platform/efl/ErrorsEfl.cpp
101     platform/efl/EventLoopEfl.cpp
102     platform/efl/FileSystemEfl.cpp
103     platform/efl/GamepadsEfl.cpp
104     platform/efl/LanguageEfl.cpp
105     platform/efl/LocalizedStringsEfl.cpp
106     platform/efl/LoggingEfl.cpp
107     platform/efl/MIMETypeRegistryEfl.cpp
108     platform/efl/MainThreadSharedTimerEfl.cpp
109     platform/efl/PasteboardEfl.cpp
110     platform/efl/PlatformKeyboardEventEfl.cpp
111     platform/efl/PlatformMouseEventEfl.cpp
112     platform/efl/PlatformScreenEfl.cpp
113     platform/efl/PlatformWheelEventEfl.cpp
114     platform/efl/ScrollbarThemeEfl.cpp
115     platform/efl/SoundEfl.cpp
116     platform/efl/TemporaryLinkStubs.cpp
117     platform/efl/UserAgentEfl.cpp
118     platform/efl/WidgetEfl.cpp
119
120     platform/geoclue/GeolocationProviderGeoclue1.cpp
121     platform/geoclue/GeolocationProviderGeoclue2.cpp
122
123     platform/glib/KeyedDecoderGlib.cpp
124     platform/glib/KeyedEncoderGlib.cpp
125
126     platform/graphics/ImageSource.cpp
127     platform/graphics/PlatformDisplay.cpp
128     platform/graphics/WOFFFileFormat.cpp
129
130     platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp
131     platform/graphics/cairo/BitmapImageCairo.cpp
132     platform/graphics/cairo/CairoUtilities.cpp
133     platform/graphics/cairo/FontCairo.cpp
134     platform/graphics/cairo/FontCairoHarfbuzzNG.cpp
135     platform/graphics/cairo/GradientCairo.cpp
136     platform/graphics/cairo/GraphicsContextCairo.cpp
137     platform/graphics/cairo/ImageBufferCairo.cpp
138     platform/graphics/cairo/ImageCairo.cpp
139     platform/graphics/cairo/IntRectCairo.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/TransformationMatrixCairo.cpp
146
147     platform/graphics/efl/CairoUtilitiesEfl.cpp
148     platform/graphics/efl/EvasGLContext.cpp
149     platform/graphics/efl/EvasGLSurface.cpp
150     platform/graphics/efl/GraphicsContext3DEfl.cpp
151     platform/graphics/efl/GraphicsContext3DPrivate.cpp
152     platform/graphics/efl/IconEfl.cpp
153     platform/graphics/efl/ImageBufferEfl.cpp
154     platform/graphics/efl/ImageEfl.cpp
155     platform/graphics/efl/IntPointEfl.cpp
156     platform/graphics/efl/IntRectEfl.cpp
157
158     platform/graphics/freetype/FontCacheFreeType.cpp
159     platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp
160     platform/graphics/freetype/FontPlatformDataFreeType.cpp
161     platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp
162     platform/graphics/freetype/SimpleFontDataFreeType.cpp
163
164     platform/graphics/gstreamer/ImageGStreamerCairo.cpp
165
166     platform/graphics/harfbuzz/HarfBuzzFace.cpp
167     platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp
168     platform/graphics/harfbuzz/HarfBuzzShaper.cpp
169
170     platform/graphics/opengl/Extensions3DOpenGLCommon.cpp
171     platform/graphics/opengl/GLPlatformContext.cpp
172     platform/graphics/opengl/GLPlatformSurface.cpp
173     platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
174     platform/graphics/opengl/TemporaryOpenGLSetting.cpp
175
176     platform/graphics/opentype/OpenTypeVerticalData.cpp
177
178     platform/graphics/surfaces/GLTransportSurface.cpp
179     platform/graphics/surfaces/GraphicsSurface.cpp
180
181     platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp
182
183     platform/graphics/surfaces/glx/X11Helper.cpp
184
185     platform/graphics/x11/PlatformDisplayX11.cpp
186     platform/graphics/x11/XUniqueResource.cpp
187
188     platform/image-encoders/JPEGImageEncoder.cpp
189
190     platform/image-decoders/cairo/ImageDecoderCairo.cpp
191
192     platform/network/efl/NetworkStateNotifierEfl.cpp
193
194     platform/network/soup/AuthenticationChallengeSoup.cpp
195     platform/network/soup/CertificateInfo.cpp
196     platform/network/soup/CookieJarSoup.cpp
197     platform/network/soup/CookieStorageSoup.cpp
198     platform/network/soup/CredentialStorageSoup.cpp
199     platform/network/soup/DNSSoup.cpp
200     platform/network/soup/NetworkStorageSessionSoup.cpp
201     platform/network/soup/ProxyServerSoup.cpp
202     platform/network/soup/ResourceErrorSoup.cpp
203     platform/network/soup/ResourceHandleSoup.cpp
204     platform/network/soup/ResourceRequestSoup.cpp
205     platform/network/soup/ResourceResponseSoup.cpp
206     platform/network/soup/SocketStreamHandleSoup.cpp
207     platform/network/soup/SoupNetworkSession.cpp
208     platform/network/soup/SynchronousLoaderClientSoup.cpp
209     platform/network/soup/WebKitSoupRequestGeneric.cpp
210
211     platform/posix/FileSystemPOSIX.cpp
212     platform/posix/SharedBufferPOSIX.cpp
213
214     platform/soup/PublicSuffixSoup.cpp
215     platform/soup/SharedBufferSoup.cpp
216     platform/soup/URLSoup.cpp
217
218     platform/text/Hyphenation.cpp
219     platform/text/LocaleICU.cpp
220
221     platform/text/efl/TextBreakIteratorInternalICUEfl.cpp
222
223     platform/text/enchant/TextCheckerEnchant.cpp
224
225     platform/text/hyphen/HyphenationLibHyphen.cpp
226
227     rendering/RenderThemeEfl.cpp
228 )
229
230 if (USE_GEOCLUE2)
231     list(APPEND WebCore_SOURCES
232         ${DERIVED_SOURCES_WEBCORE_DIR}/Geoclue2Interface.c
233     )
234     execute_process(COMMAND pkg-config --variable dbus_interface geoclue-2.0 OUTPUT_VARIABLE GEOCLUE_DBUS_INTERFACE)
235     add_custom_command(
236          OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/Geoclue2Interface.c ${DERIVED_SOURCES_WEBCORE_DIR}/Geoclue2Interface.h
237          COMMAND gdbus-codegen --interface-prefix org.freedesktop.GeoClue2. --c-namespace Geoclue --generate-c-code ${DERIVED_SOURCES_WEBCORE_DIR}/Geoclue2Interface ${GEOCLUE_DBUS_INTERFACE}
238     )
239 endif ()
240
241 if (ENABLE_GAMEPAD_DEPRECATED)
242     # FIXME: GAMEPAD_DEPRECATED is legacy implementation. Need to be removed.
243     list(REMOVE_ITEM WebCore_INCLUDE_DIRECTORIES
244         "${WEBCORE_DIR}/Modules/gamepad"
245     )
246 endif ()
247
248 list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
249     ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.css
250 )
251
252 set(WebCore_USER_AGENT_SCRIPTS
253     ${WEBCORE_DIR}/English.lproj/mediaControlsLocalizedStrings.js
254     ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.js
255 )
256
257 add_custom_command(
258     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitVersion.h
259     MAIN_DEPENDENCY ${WEBKIT_DIR}/scripts/generate-webkitversion.pl
260     DEPENDS ${WEBKIT_DIR}/mac/Configurations/Version.xcconfig
261     COMMAND ${PERL_EXECUTABLE} ${WEBKIT_DIR}/scripts/generate-webkitversion.pl --config ${WEBKIT_DIR}/mac/Configurations/Version.xcconfig --outputDir ${DERIVED_SOURCES_WEBCORE_DIR}
262     VERBATIM)
263 list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitVersion.h)
264
265 set(WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES ${WEBCORE_DIR}/platform/efl/RenderThemeEfl.cpp)
266
267 list(APPEND WebCore_LIBRARIES
268     ${CAIRO_LIBRARIES}
269     ${ECORE_EVAS_LIBRARIES}
270     ${ECORE_FILE_LIBRARIES}
271     ${ECORE_LIBRARIES}
272     ${ECORE_X_LIBRARIES}
273     ${EDJE_LIBRARIES}
274     ${EEZE_LIBRARIES}
275     ${EINA_LIBRARIES}
276     ${ELDBUS_LIBRARIES}
277     ${EO_LIBRARIES}
278     ${EVAS_LIBRARIES}
279     ${FONTCONFIG_LIBRARIES}
280     ${FREETYPE2_LIBRARIES}
281     ${GEOCLUE_LIBRARIES}
282     ${GLIB_GIO_LIBRARIES}
283     ${GLIB_GOBJECT_LIBRARIES}
284     ${GLIB_LIBRARIES}
285     ${GNUTLS_LIBRARIES}
286     ${HARFBUZZ_LIBRARIES}
287     ${LIBSOUP_LIBRARIES}
288     ${LIBXML2_LIBRARIES}
289     ${LIBXSLT_LIBRARIES}
290     ${HYPHEN_LIBRARIES}
291     ${SQLITE_LIBRARIES}
292     ${X11_X11_LIB}
293     ${ZLIB_LIBRARIES}
294 )
295
296 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
297     ${CAIRO_INCLUDE_DIRS}
298     ${ECORE_INCLUDE_DIRS}
299     ${ECORE_EVAS_INCLUDE_DIRS}
300     ${ECORE_FILE_INCLUDE_DIRS}
301     ${ECORE_X_INCLUDE_DIRS}
302     ${EO_INCLUDE_DIRS}
303     ${EDJE_INCLUDE_DIRS}
304     ${EEZE_INCLUDE_DIRS}
305     ${EINA_INCLUDE_DIRS}
306     ${ELDBUS_INCLUDE_DIRS}
307     ${EVAS_INCLUDE_DIRS}
308     ${FREETYPE2_INCLUDE_DIRS}
309     ${GEOCLUE_INCLUDE_DIRS}
310     ${GIO_UNIX_INCLUDE_DIRS}
311     ${GNUTLS_INCLUDE_DIRS}
312     ${LIBXML2_INCLUDE_DIR}
313     ${LIBXSLT_INCLUDE_DIR}
314     ${SQLITE_INCLUDE_DIR}
315     ${GLIB_INCLUDE_DIRS}
316     ${LIBSOUP_INCLUDE_DIRS}
317     ${ZLIB_INCLUDE_DIRS}
318     ${HARFBUZZ_INCLUDE_DIRS}
319 )
320
321 if (USE_EGL)
322     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
323         "${WEBCORE_DIR}/platform/graphics/surfaces/egl"
324     )
325 endif ()
326
327 if (USE_EGL)
328     list(APPEND WebCore_SOURCES
329         platform/graphics/surfaces/egl/EGLConfigSelector.cpp
330         platform/graphics/surfaces/egl/EGLContext.cpp
331         platform/graphics/surfaces/egl/EGLHelper.cpp
332         platform/graphics/surfaces/egl/EGLSurface.cpp
333         platform/graphics/surfaces/egl/EGLXSurface.cpp
334     )
335 else ()
336     list(APPEND WebCore_SOURCES
337         platform/graphics/surfaces/glx/GLXContext.cpp
338         platform/graphics/surfaces/glx/GLXSurface.cpp
339     )
340 endif ()
341
342 if (USE_OPENGL_ES_2)
343     list(APPEND WebCore_SOURCES
344         platform/graphics/opengl/Extensions3DOpenGLES.cpp
345         platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
346     )
347 else ()
348     list(APPEND WebCore_SOURCES
349         platform/graphics/OpenGLShims.cpp
350
351         platform/graphics/opengl/Extensions3DOpenGL.cpp
352         platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
353     )
354 endif ()
355
356 if (NOT USE_EGL AND X11_Xcomposite_FOUND AND X11_Xrender_FOUND)
357     list(APPEND WebCore_LIBRARIES
358         ${X11_Xcomposite_LIB}
359         ${X11_Xrender_LIB}
360     )
361 endif ()
362
363 if (ENABLE_WEB_AUDIO)
364     set(WEB_AUDIO_DIR ${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/webaudio/resources)
365     file(GLOB WEB_AUDIO_DATA "${WEBCORE_DIR}/platform/audio/resources/*.wav")
366     install(FILES ${WEB_AUDIO_DATA} DESTINATION ${WEB_AUDIO_DIR})
367     add_definitions(-DUNINSTALLED_AUDIO_RESOURCES_DIR="${WEBCORE_DIR}/platform/audio/resources")
368 endif ()
369
370 if (ENABLE_SPELLCHECK)
371     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
372         ${ENCHANT_INCLUDE_DIRS}
373     )
374     list(APPEND WebCore_LIBRARIES
375         ${ENCHANT_LIBRARIES}
376     )
377 endif ()
378
379 if (ENABLE_ACCESSIBILITY)
380     list(APPEND WebCore_INCLUDE_DIRECTORIES
381         "${WEBCORE_DIR}/accessibility/atk"
382     )
383     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
384         ${ATK_INCLUDE_DIRS}
385     )
386     list(APPEND WebCore_LIBRARIES
387         ${ATK_LIBRARIES}
388     )
389 endif ()
390
391 if (ENABLE_SMOOTH_SCROLLING)
392     list(APPEND WebCore_SOURCES
393         platform/ScrollAnimationSmooth.cpp
394         platform/ScrollAnimatorSmooth.cpp
395     )
396 endif ()
397
398 if (ENABLE_SPEECH_SYNTHESIS)
399     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
400         ${ESPEAK_INCLUDE_DIRS}
401     )
402     list(APPEND WebCore_LIBRARIES
403         ${ESPEAK_LIBRARIES}
404     )
405     list(APPEND WebCore_SOURCES
406         platform/efl/PlatformSpeechSynthesisProviderEfl.cpp
407         platform/efl/PlatformSpeechSynthesizerEfl.cpp
408     )
409 endif ()
410
411 if (ENABLE_SUBTLE_CRYPTO)
412     list(APPEND WebCore_SOURCES
413         crypto/CryptoAlgorithm.cpp
414         crypto/CryptoAlgorithmDescriptionBuilder.cpp
415         crypto/CryptoAlgorithmRegistry.cpp
416         crypto/CryptoKey.cpp
417         crypto/CryptoKeyPair.cpp
418         crypto/SubtleCrypto.cpp
419
420         crypto/algorithms/CryptoAlgorithmAES_CBC.cpp
421         crypto/algorithms/CryptoAlgorithmAES_KW.cpp
422         crypto/algorithms/CryptoAlgorithmHMAC.cpp
423         crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp
424         crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
425         crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp
426         crypto/algorithms/CryptoAlgorithmSHA1.cpp
427         crypto/algorithms/CryptoAlgorithmSHA224.cpp
428         crypto/algorithms/CryptoAlgorithmSHA256.cpp
429         crypto/algorithms/CryptoAlgorithmSHA384.cpp
430         crypto/algorithms/CryptoAlgorithmSHA512.cpp
431
432         crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp
433         crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp
434         crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp
435         crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp
436         crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp
437         crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp
438         crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp
439         crypto/gnutls/CryptoKeyRSAGnuTLS.cpp
440         crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp
441
442         crypto/keys/CryptoKeyAES.cpp
443         crypto/keys/CryptoKeyDataOctetSequence.cpp
444         crypto/keys/CryptoKeyDataRSAComponents.cpp
445         crypto/keys/CryptoKeyHMAC.cpp
446         crypto/keys/CryptoKeySerializationRaw.cpp
447     )
448 endif ()
449
450 if (DEVELOPER_MODE)
451     if (USE_LIBHYPHEN AND IS_DIRECTORY ${CMAKE_SOURCE_DIR}/WebKitBuild/DependenciesEFL)
452         add_definitions(-DTEST_HYPHENATAION_PATH=\"${CMAKE_SOURCE_DIR}/WebKitBuild/DependenciesEFL/Root/webkitgtk-test-dicts\")
453     endif ()
454 endif ()