1 include(platform/GStreamer.cmake)
2 include(platform/ImageDecoders.cmake)
3 include(platform/Linux.cmake)
4 include(platform/TextureMapper.cmake)
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"
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
71 editing/SmartReplace.cpp
73 editing/atk/FrameSelectionAtk.cpp
75 editing/efl/EditorEfl.cpp
77 html/shadow/MediaControlsApple.cpp
79 loader/soup/CachedRawResourceSoup.cpp
80 loader/soup/SubresourceLoaderSoup.cpp
82 page/efl/DragControllerEfl.cpp
83 page/efl/EventHandlerEfl.cpp
85 page/scrolling/AxisScrollSnapOffsets.cpp
87 platform/KillRingNone.cpp
89 platform/audio/efl/AudioBusEfl.cpp
91 platform/crypto/gnutls/CryptoDigestGnuTLS.cpp
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
120 platform/geoclue/GeolocationProviderGeoclue1.cpp
121 platform/geoclue/GeolocationProviderGeoclue2.cpp
123 platform/glib/KeyedDecoderGlib.cpp
124 platform/glib/KeyedEncoderGlib.cpp
126 platform/graphics/ImageSource.cpp
127 platform/graphics/PlatformDisplay.cpp
128 platform/graphics/WOFFFileFormat.cpp
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
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
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
164 platform/graphics/gstreamer/ImageGStreamerCairo.cpp
166 platform/graphics/harfbuzz/HarfBuzzFace.cpp
167 platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp
168 platform/graphics/harfbuzz/HarfBuzzShaper.cpp
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
176 platform/graphics/opentype/OpenTypeVerticalData.cpp
178 platform/graphics/surfaces/GLTransportSurface.cpp
179 platform/graphics/surfaces/GraphicsSurface.cpp
181 platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp
183 platform/graphics/surfaces/glx/X11Helper.cpp
185 platform/graphics/x11/PlatformDisplayX11.cpp
186 platform/graphics/x11/XUniqueResource.cpp
188 platform/image-encoders/JPEGImageEncoder.cpp
190 platform/image-decoders/cairo/ImageDecoderCairo.cpp
192 platform/network/efl/NetworkStateNotifierEfl.cpp
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
211 platform/posix/FileSystemPOSIX.cpp
212 platform/posix/SharedBufferPOSIX.cpp
214 platform/soup/PublicSuffixSoup.cpp
215 platform/soup/SharedBufferSoup.cpp
216 platform/soup/URLSoup.cpp
218 platform/text/Hyphenation.cpp
219 platform/text/LocaleICU.cpp
221 platform/text/efl/TextBreakIteratorInternalICUEfl.cpp
223 platform/text/enchant/TextCheckerEnchant.cpp
225 platform/text/hyphen/HyphenationLibHyphen.cpp
227 rendering/RenderThemeEfl.cpp
231 list(APPEND WebCore_SOURCES
232 ${DERIVED_SOURCES_WEBCORE_DIR}/Geoclue2Interface.c
234 execute_process(COMMAND pkg-config --variable dbus_interface geoclue-2.0 OUTPUT_VARIABLE GEOCLUE_DBUS_INTERFACE)
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}
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"
248 list(APPEND WebCore_USER_AGENT_STYLE_SHEETS
249 ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.css
252 set(WebCore_USER_AGENT_SCRIPTS
253 ${WEBCORE_DIR}/English.lproj/mediaControlsLocalizedStrings.js
254 ${WEBCORE_DIR}/Modules/mediacontrols/mediaControlsBase.js
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}
263 list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitVersion.h)
265 set(WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES ${WEBCORE_DIR}/platform/efl/RenderThemeEfl.cpp)
267 list(APPEND WebCore_LIBRARIES
269 ${ECORE_EVAS_LIBRARIES}
270 ${ECORE_FILE_LIBRARIES}
279 ${FONTCONFIG_LIBRARIES}
280 ${FREETYPE2_LIBRARIES}
282 ${GLIB_GIO_LIBRARIES}
283 ${GLIB_GOBJECT_LIBRARIES}
285 ${HARFBUZZ_LIBRARIES}
295 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
296 ${CAIRO_INCLUDE_DIRS}
297 ${ECORE_INCLUDE_DIRS}
298 ${ECORE_EVAS_INCLUDE_DIRS}
299 ${ECORE_FILE_INCLUDE_DIRS}
300 ${ECORE_X_INCLUDE_DIRS}
305 ${ELDBUS_INCLUDE_DIRS}
307 ${FREETYPE2_INCLUDE_DIRS}
308 ${GEOCLUE_INCLUDE_DIRS}
309 ${GIO_UNIX_INCLUDE_DIRS}
310 ${LIBXML2_INCLUDE_DIR}
311 ${LIBXSLT_INCLUDE_DIR}
312 ${SQLITE_INCLUDE_DIR}
314 ${LIBSOUP_INCLUDE_DIRS}
316 ${HARFBUZZ_INCLUDE_DIRS}
320 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
321 "${WEBCORE_DIR}/platform/graphics/surfaces/egl"
326 list(APPEND WebCore_SOURCES
327 platform/graphics/surfaces/egl/EGLConfigSelector.cpp
328 platform/graphics/surfaces/egl/EGLContext.cpp
329 platform/graphics/surfaces/egl/EGLHelper.cpp
330 platform/graphics/surfaces/egl/EGLSurface.cpp
331 platform/graphics/surfaces/egl/EGLXSurface.cpp
334 list(APPEND WebCore_SOURCES
335 platform/graphics/surfaces/glx/GLXContext.cpp
336 platform/graphics/surfaces/glx/GLXSurface.cpp
341 list(APPEND WebCore_SOURCES
342 platform/graphics/opengl/Extensions3DOpenGLES.cpp
343 platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
346 list(APPEND WebCore_SOURCES
347 platform/graphics/OpenGLShims.cpp
349 platform/graphics/opengl/Extensions3DOpenGL.cpp
350 platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
354 if (NOT USE_EGL AND X11_Xcomposite_FOUND AND X11_Xrender_FOUND)
355 list(APPEND WebCore_LIBRARIES
356 ${X11_Xcomposite_LIB}
361 if (ENABLE_WEB_AUDIO)
362 set(WEB_AUDIO_DIR ${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/webaudio/resources)
363 file(GLOB WEB_AUDIO_DATA "${WEBCORE_DIR}/platform/audio/resources/*.wav")
364 install(FILES ${WEB_AUDIO_DATA} DESTINATION ${WEB_AUDIO_DIR})
365 add_definitions(-DUNINSTALLED_AUDIO_RESOURCES_DIR="${WEBCORE_DIR}/platform/audio/resources")
368 if (ENABLE_SPELLCHECK)
369 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
370 ${ENCHANT_INCLUDE_DIRS}
372 list(APPEND WebCore_LIBRARIES
377 if (ENABLE_ACCESSIBILITY)
378 list(APPEND WebCore_INCLUDE_DIRECTORIES
379 "${WEBCORE_DIR}/accessibility/atk"
381 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
384 list(APPEND WebCore_LIBRARIES
389 if (ENABLE_SMOOTH_SCROLLING)
390 list(APPEND WebCore_SOURCES
391 platform/ScrollAnimationSmooth.cpp
392 platform/ScrollAnimatorSmooth.cpp
396 if (ENABLE_SPEECH_SYNTHESIS)
397 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
398 ${ESPEAK_INCLUDE_DIRS}
400 list(APPEND WebCore_LIBRARIES
403 list(APPEND WebCore_SOURCES
404 platform/efl/PlatformSpeechSynthesisProviderEfl.cpp
405 platform/efl/PlatformSpeechSynthesizerEfl.cpp
409 if (ENABLE_SUBTLE_CRYPTO)
410 list(APPEND WebCore_SOURCES
411 crypto/CryptoAlgorithm.cpp
412 crypto/CryptoAlgorithmDescriptionBuilder.cpp
413 crypto/CryptoAlgorithmRegistry.cpp
415 crypto/CryptoKeyPair.cpp
416 crypto/SubtleCrypto.cpp
418 crypto/algorithms/CryptoAlgorithmAES_CBC.cpp
419 crypto/algorithms/CryptoAlgorithmAES_KW.cpp
420 crypto/algorithms/CryptoAlgorithmHMAC.cpp
421 crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp
422 crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp
423 crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp
424 crypto/algorithms/CryptoAlgorithmSHA1.cpp
425 crypto/algorithms/CryptoAlgorithmSHA224.cpp
426 crypto/algorithms/CryptoAlgorithmSHA256.cpp
427 crypto/algorithms/CryptoAlgorithmSHA384.cpp
428 crypto/algorithms/CryptoAlgorithmSHA512.cpp
430 crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp
431 crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp
432 crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp
433 crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp
434 crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp
435 crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp
436 crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp
437 crypto/gnutls/CryptoKeyRSAGnuTLS.cpp
438 crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp
440 crypto/keys/CryptoKeyAES.cpp
441 crypto/keys/CryptoKeyDataOctetSequence.cpp
442 crypto/keys/CryptoKeyDataRSAComponents.cpp
443 crypto/keys/CryptoKeyHMAC.cpp
444 crypto/keys/CryptoKeySerializationRaw.cpp
447 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
448 ${GNUTLS_INCLUDE_DIRS}
450 list(APPEND WebCore_LIBRARIES
456 if (USE_LIBHYPHEN AND IS_DIRECTORY ${CMAKE_SOURCE_DIR}/WebKitBuild/DependenciesEFL)
457 add_definitions(-DTEST_HYPHENATAION_PATH=\"${CMAKE_SOURCE_DIR}/WebKitBuild/DependenciesEFL/Root/webkitgtk-test-dicts\")