ced1d8f133edfee6ea17274b7709d8c401920326
[profile/ivi/webkit-efl.git] / Source / cmake / OptionsTizen.cmake
1 SET(PROJECT_VERSION_MAJOR 0)
2 SET(PROJECT_VERSION_MINOR 9)
3 SET(PROJECT_VERSION_PATCH 84)
4 SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
5
6 # -----------------------------------------------------------------------------
7 # We mention Safari version because many sites check for it.
8 # Sync with Source/WebCore/Configurations/Version.xcconfig whenever Safari is
9 # version up.
10 # -----------------------------------------------------------------------------
11 SET(WEBKIT_USER_AGENT_MAJOR_VERSION 537)
12 SET(WEBKIT_USER_AGENT_MINOR_VERSION 2)
13
14 ADD_DEFINITIONS(-DBUILDING_EFL__=1)
15 ADD_DEFINITIONS(-DWTF_PLATFORM_EFL=1)
16 SET(WTF_PLATFORM_EFL 1)
17
18 # -----------------------------------------------------------------------------
19 # Enable CTest for the public API unit testing
20 # -----------------------------------------------------------------------------
21 ENABLE_TESTING()
22 SET(ENABLE_API_TESTS ON)
23
24 # -----------------------------------------------------------------------------
25 # Determine which font backend will be used
26 # -----------------------------------------------------------------------------
27 SET(ALL_FONT_BACKENDS freetype pango)
28 SET(FONT_BACKEND "freetype" CACHE STRING "choose which font backend to use (one of ${ALL_FONT_BACKENDS})")
29
30 FIND_PACKAGE(Cairo 1.10 REQUIRED)
31 FIND_PACKAGE(EFL REQUIRED)
32 FIND_PACKAGE(Fontconfig 2.8.0 REQUIRED)
33 FIND_PACKAGE(Sqlite REQUIRED)
34 FIND_PACKAGE(LibXml2 2.6 REQUIRED)
35 FIND_PACKAGE(LibXslt 1.1.7 REQUIRED)
36 FIND_PACKAGE(ICU REQUIRED)
37 FIND_PACKAGE(Threads REQUIRED)
38 FIND_PACKAGE(JPEG REQUIRED)
39 FIND_PACKAGE(PNG REQUIRED)
40 FIND_PACKAGE(ZLIB REQUIRED)
41
42 FIND_PACKAGE(Glib 2.31.8 REQUIRED)
43 FIND_PACKAGE(Gthread REQUIRED)
44 FIND_PACKAGE(LibSoup2 2.37.92 REQUIRED)
45 SET(ENABLE_GLIB_SUPPORT ON)
46
47 SET(WTF_USE_SOUP 1)
48 ADD_DEFINITIONS(-DWTF_USE_SOUP=1)
49 ADD_DEFINITIONS(-DBUILDING_SOUP__=1)
50
51 ADD_DEFINITIONS(-DENABLE_CONTEXT_MENUS=1)
52
53 SET(WTF_USE_PTHREADS 1)
54 ADD_DEFINITIONS(-DWTF_USE_PTHREADS=1)
55
56 SET(WTF_USE_ICU_UNICODE 1)
57 ADD_DEFINITIONS(-DWTF_USE_ICU_UNICODE=1)
58
59 SET(WTF_USE_CAIRO 1)
60 ADD_DEFINITIONS(-DWTF_USE_CAIRO=1)
61
62 SET(JSC_EXECUTABLE_NAME jsc_efl)
63
64 SET(WTF_LIBRARY_NAME wtf_efl)
65 SET(JavaScriptCore_LIBRARY_NAME javascriptcore_efl)
66 SET(WebCore_LIBRARY_NAME webcore_efl)
67 SET(WebKit_LIBRARY_NAME ewebkit)
68 SET(WebKit2_LIBRARY_NAME ewebkit2)
69
70 SET(DATA_INSTALL_DIR "share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR}" CACHE PATH "Installation path for theme data")
71 SET(THEME_BINARY_DIR ${CMAKE_BINARY_DIR}/WebKit/efl/DefaultTheme)
72 FILE(MAKE_DIRECTORY ${THEME_BINARY_DIR})
73
74 SET(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_MODULE_PATH}/eflsymbols.filter")
75
76 WEBKIT_OPTION_BEGIN()
77 #--------------------------------------------------------------------------------------
78 # Define WebKit Features which are needed by Tizen
79 #--------------------------------------------------------------------------------------
80 WEBKIT_OPTION_DEFINE(ENABLE_ALLINONE "All in one to make build faster" ON)
81 WEBKIT_OPTION_DEFINE(ENABLE_AS_IMAGE "Enable SVG as image" ON)
82 WEBKIT_OPTION_DEFINE(ENABLE_CDOM_BINDINGS "C DOM Bindings" OFF)
83 WEBKIT_OPTION_DEFINE(ENABLE_DFG_JIT "Enable DFG JIT" OFF)
84 WEBKIT_OPTION_DEFINE(ENABLE_FAST_MALLOC "Enable fastMalloc" ON)
85 WEBKIT_OPTION_DEFINE(ENABLE_MEMORY_SAMPLER "Enable Memory Sampler for WebKit2" ON)
86 WEBKIT_OPTION_DEFINE(ENABLE_OFFLINE_WEB_APPLICATIONS "Enable offline web applications" ON)
87 WEBKIT_OPTION_DEFINE(ENABLE_OVERFLOW_SCROLLING "Enable css overflow scrolling property" ON)
88 WEBKIT_OPTION_DEFINE(ENABLE_PLUGIN_PROCESS "Enable PluginProcess for WebKit2" ON)
89 WEBKIT_OPTION_DEFINE(ENABLE_FAST_MOBILE_SCROLLING "Toogle Fast Mobile Scrolling support" ON)
90
91 #--------------------------------------------------------------------------------------
92 # Define Tizen Specific WebKit Features
93 #--------------------------------------------------------------------------------------
94 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_CLIPBOARD "Enable Tizen Clipboard API for Tizen" ON)
95 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_CSS_ALIASES "Enable Specifying CSS Property Aliases in Tizen" ON)
96 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_CSS3_TEXT "Enable CSS3 TEXT" ON)
97 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_DBSPACE_PATH "Enable Tizen application's  directory path" ON)
98 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_GC_ACTIVITY_CALLBACK "Use GC Activity Callback" ON)
99 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_INTERNATIONAL_TEXT_SUPPORT "Enable International text support for tizen webkit" ON)
100 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_KEYGEN "Enable Tizen WebKit2 feature" ON)
101 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_MEDIA_STREAM "Enable Tizen Media Stream" ON)
102 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_MM_PLAYER "Use Tizen Multimedia Framework for Tizen" OFF)
103 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_REGISTER_CONTENT_HANDLER "Enable the register content handler for Tizen" ON)
104 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_SEARCH_PROVIDER "Enable Tizen search provider for Tizen" ON)
105 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_SUPPORT "Enable Tizen Support" ON)
106 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_SUPPORT_WEBAPP_META_TAG "Enable apple meta tag" ON)
107 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_WEBKIT_EFL_DRT "Enable DumpRenderTree for Tizen WebKit" ON)
108 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_WEBKIT2_ROTATION_WHILE_JAVASCRIPT_POPUP "Enable rotation while showing javascript popup for WebKit 2" ON)
109 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_WEBKIT2 "Enable Tizen WebKit2 feature" ON)
110
111 #--------------------------------------------------------------------------------------
112 # Enabled WebKit Features for Tizen or Tizen Specific Features.
113 #--------------------------------------------------------------------------------------
114 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ALLINONE ON)
115 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_API_TESTS ON)
116 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_AS_IMAGE ON)
117 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING ON)
118 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS ON)
119 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BLOB ON)
120 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CDOM_BINDINGS OFF)
121 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CUSTOM_SCHEME_HANDLER ON)
122 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_FILTERS ON)
123 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATALIST_ELEMENT ON)
124 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION ON)
125 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DFG_JIT OFF)
126 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE ON)
127 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT ON)
128 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FAST_MALLOC OFF)
129 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILE_SYSTEM ON)
130 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS ON)
131 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FULLSCREEN_API ON)
132 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GEOLOCATION ON)
133 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GLIB_SUPPORT ON)
134 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE ON)
135 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATE ON)
136 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATETIME ON)
137 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATETIMELOCAL ON)
138 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_MONTH ON)
139 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_TIME ON)
140 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_WEEK ON)
141 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR ON)
142 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_NOTIFICATIONS ON)
143 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VIEWPORT_ADAPTION ON)
144 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEBKIT_BLOB_BUILDER ON)
145 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE ON)
146 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM ON)
147 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER ON)
148 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MICRODATA ON)
149 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_INFO ON)
150 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS ON)
151 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFLINE_WEB_APPLICATIONS ON)
152 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ORIENTATION_EVENTS ON)
153 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OVERFLOW_SCROLLING ON)
154 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PAGE_VISIBILITY_API ON)
155 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PLUGIN_PROCESS ON)
156 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REGISTER_PROTOCOL_HANDLER ON)
157 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON)
158 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SCREEN_ORIENTATION_SUPPORT ON)  # FIXME: This option should be synced with ORIENTATION_EVENTS.
159 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
160 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK ON)
161 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_STYLE_SCOPED ON)
162 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS ON)
163 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_ICON_LOADING ON)
164 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON)
165 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
166 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
167 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO ON)
168 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
169 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)
170 WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC ON)
171 WEBKIT_OPTION_DEFAULT_PORT_VALUE(WTF_USE_TILED_BACKING_STORE ON)
172 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FAST_MOBILE_SCROLLING ON)
173 WEBKIT_OPTION_END()
174
175 MACRO (TIZEN_OPTION_EXPAND _option)
176     IF (${_option})
177         STRING(REGEX REPLACE "ENABLE_" "" _N ${_option})
178         SET(ENABLE_TIZEN_${_N} 1)
179         ADD_DEFINITIONS(-DENABLE_TIZEN_${_N}=1)
180     ENDIF ()
181 ENDMACRO ()
182
183 SET(CPACK_SOURCE_GENERATOR TBZ2)
184
185 # -----------------------------------------------------------------------------
186 # Determine which Samsung model will be defined
187 # -----------------------------------------------------------------------------
188 ADD_DEFINITIONS(-DWTF_OS_TIZEN=1)
189
190 SET(ENABLE_TIZEN_PASTEBOARD 1)
191
192 TIZEN_OPTION_EXPAND(ENABLE_BATTERY_STATUS)
193 TIZEN_OPTION_EXPAND(ENABLE_CUSTOM_SCHEME_HANDLER)
194 TIZEN_OPTION_EXPAND(ENABLE_DEVICE_ORIENTATION)
195 TIZEN_OPTION_EXPAND(ENABLE_DRAG_SUPPORT)
196 TIZEN_OPTION_EXPAND(ENABLE_FILE_SYSTEM)
197 TIZEN_OPTION_EXPAND(ENABLE_GEOLOCATION)
198 TIZEN_OPTION_EXPAND(ENABLE_INDEX_DATABASE)
199 TIZEN_OPTION_EXPAND(ENABLE_ORIENTATION_EVENTS)
200 TIZEN_OPTION_EXPAND(ENABLE_REGISTER_PROTOCOL_HANDLER)
201 TIZEN_OPTION_EXPAND(ENABLE_SCREEN_ORIENTATION_SUPPORT)
202 TIZEN_OPTION_EXPAND(ENABLE_STYLE_SCOPED)
203
204 # -----------------------------------------------------------------------------
205 # Checking Tizen dependencies.
206 # -----------------------------------------------------------------------------
207 MESSAGE("Checking Tizen dependencies...")
208 FIND_PACKAGE(CAPI REQUIRED)
209 FIND_PACKAGE(Dlog)
210 FIND_PACKAGE(EFREET REQUIRED)
211 FIND_PACKAGE(ELEMENTARY REQUIRED)
212 FIND_PACKAGE(ETHUMB REQUIRED)
213 FIND_PACKAGE(EDBUS REQUIRED)
214 FIND_PACKAGE(DBUS-1 REQUIRED)
215 FIND_PACKAGE(GLES REQUIRED)
216 FIND_PACKAGE(Media-Utils 0.1.35 REQUIRED)
217 FIND_PACKAGE(UIGadget REQUIRED)
218 FIND_PACKAGE(VConf REQUIRED)
219
220 ADD_DEFINITIONS(-DENABLE_GESTURE_EVENTS=1)
221
222 SET(ENABLE_TOUCH_ADJUSTMENT 1)
223 ADD_DEFINITIONS(-DENABLE_TOUCH_ADJUSTMENT=1)
224
225 IF (FONT_BACKEND STREQUAL "freetype")
226     FIND_PACKAGE(Freetype REQUIRED)
227     SET(WTF_USE_FREETYPE 1)
228     ADD_DEFINITIONS(-DWTF_USE_FREETYPE=1)
229
230     FIND_PACKAGE(HarfBuzz REQUIRED)
231     SET(WTF_USE_HARFBUZZ_NG 1)
232     ADD_DEFINITIONS(-DWTF_USE_HARFBUZZ_NG=1)
233 ELSE ()
234     FIND_PACKAGE(Pango REQUIRED)
235     SET(WTF_USE_PANGO 1)
236     ADD_DEFINITIONS(-DWTF_USE_PANGO=1)
237 ENDIF ()
238
239 IF(ENABLE_GEOLOCATION)
240     FIND_PACKAGE(Tizen-Location-Manager REQUIRED)
241 ENDIF()
242
243 IF (ENABLE_TIZEN_KEYGEN)
244     FIND_PACKAGE(OPENSSL REQUIRED)
245     ADD_DEFINITIONS(-DENABLE_TIZEN_KEYGEN=1)
246 ENDIF ()
247
248 IF (ENABLE_TIZEN_WEBKIT2)
249     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2=1)
250 ENDIF ()
251
252 IF (Dlog_FOUND)
253     ADD_DEFINITIONS(-DENABLE_TIZEN_DLOG_SUPPORT=1)
254 ENDIF ()
255
256 IF (ENABLE_SPELLCHECK)
257     FIND_PACKAGE(Enchant REQUIRED)
258 ENDIF()
259
260 IF ("${EFL_TARGET}" STREQUAL "i386")
261     MESSAGE("i386 target Build Mode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
262     SET(WTF_USE_ACCELERATED_COMPOSITING 1)
263     SET(WTF_USE_TEXTURE_MAPPER 1)
264     SET(ENABLE_WEBGL 1)
265     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING=1)
266     SET(ENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING 1)
267     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE=1)
268     ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_VIDEO_VAAPI=1)
269     SET(ENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE 1)
270 ELSEIF ("${EFL_TARGET}" STREQUAL "emulator")
271     MESSAGE("i386 emulator Build Mode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
272     SET(WTF_USE_ACCELERATED_COMPOSITING 1)
273     SET(WTF_USE_TEXTURE_MAPPER 1)
274     SET(ENABLE_WEBGL 1)
275     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING=0)
276     SET(ENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING 0)
277     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE=0)
278     SET(ENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE 0)
279 ELSE ()
280     SET(WTF_USE_ACCELERATED_COMPOSITING 1)
281     SET(WTF_USE_TEXTURE_MAPPER 1)
282     SET(ENABLE_WEBGL 1)
283     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING=1)
284     SET(ENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING 1)
285     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE=1)
286     SET(ENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE 1)
287     SET(ENABLE_WEBAUDIO_FFMPEG 1)
288 ENDIF ()
289
290 ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_COMPOSITING=${WTF_USE_ACCELERATED_COMPOSITING})
291 REMOVE_DEFINITIONS(-DWTF_USE_TEXTURE_MAPPER=1) # FIXME: Is it necessary?
292 ADD_DEFINITIONS(-DWTF_USE_TEXTURE_MAPPER=${WTF_USE_TEXTURE_MAPPER})
293
294 IF (ENABLE_INDEXED_DATABASE)
295     FIND_PACKAGE(LevelDB REQUIRED)
296     FIND_PACKAGE(LevelDB-MemEnv REQUIRED)
297     SET(WTF_USE_LEVELDB 1)
298     ADD_DEFINITIONS(-DWTF_USE_LEVELDB=1)
299 ENDIF()
300
301 IF (ENABLE_NOTIFICATIONS)
302     SET(ENABLE_TIZEN_NOTIFICATIONS 1)
303 ENDIF()
304
305 IF (ENABLE_WEB_AUDIO)
306     MESSAGE("WEB AUDIO is enabled...")
307     SET(ENABLE_TIZEN_WEB_AUDIO 1)
308     LIST(APPEND FEATURE_DEFINES ENABLE_TIZEN_WEB_AUDIO)
309
310     SET(GSTREAMER_COMPONENTS app interfaces pbutils)
311     SET(WTF_USE_GSTREAMER 1)
312     ADD_DEFINITIONS(-DWTF_USE_GSTREAMER=1)
313
314     LIST(APPEND GSTREAMER_COMPONENTS audio fft)
315
316     IF (ENABLE_WEBAUDIO_FFMPEG)
317         SET(WTF_USE_WEBAUDIO_FFMPEG 1)
318         ADD_DEFINITIONS(-DWTF_USE_WEBAUDIO_FFMPEG=1)
319     ELSE ()
320         SET(WTF_USE_WEBAUDIO_GSTREAMER 1)
321         ADD_DEFINITIONS(-DWTF_USE_WEBAUDIO_GSTREAMER=1)
322     ENDIF ()
323
324     FIND_PACKAGE(GStreamer REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
325
326     IF (ENABLE_WEBAUDIO_FFMPEG)
327         FIND_PACKAGE(Libavcodec REQUIRED COMPONENTS)
328     ENDIF ()
329
330     SET(WEB_AUDIO_DIR
331     share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR}/webaudio)
332     ADD_DEFINITIONS(-DWEB_AUDIO_DIR="/usr/${WEB_AUDIO_DIR}")
333
334     IF (NOT ENABLE_WEBKIT2)
335         # FIXME: It should be moved to proper position.
336         FILE(GLOB WEB_AUDIO_DATA "${WEBCORE_DIR}/platform/audio/resources/*.wav")
337         INSTALL(FILES ${WEB_AUDIO_DATA} DESTINATION ${WEB_AUDIO_DIR})
338     ENDIF ()
339 ENDIF ()
340
341 IF (ENABLE_TIZEN_MM_PLAYER)
342   FIND_PACKAGE(MM-Player REQUIRED)
343 ELSE ()
344   IF (ENABLE_VIDEO)
345     SET(GSTREAMER_COMPONENTS app interfaces pbutils video)
346     FIND_PACKAGE(GStreamer REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
347     FIND_PACKAGE(ASM REQUIRED)
348     FIND_PACKAGE(SESSION REQUIRED)
349
350     SET(WTF_USE_GSTREAMER 1)
351     ADD_DEFINITIONS(-DWTF_USE_GSTREAMER=1)
352   ENDIF()
353 ENDIF()
354
355 IF (ENABLE_TIZEN_WEBKIT2_SPELLCHECKING)
356     FIND_PACKAGE(Enchant REQUIRED)
357     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_SPELLCHECKING=1)
358 ENDIF()
359
360 OPTION(ENABLE_ECORE_X "Enable Ecore_X specific usage (cursor, bell)" ON)
361 IF (ENABLE_ECORE_X)
362     IF (ECORE_X_FOUND)
363         MESSAGE(STATUS "Using Ecore-X to provide extended support.")
364         ADD_DEFINITIONS(-DHAVE_ECORE_X)
365     ELSE ()
366         MESSAGE(ERROR "Requested Ecore-X but it was not found!")
367     ENDIF ()
368 ENDIF ()
369
370 INCLUDE_IF_EXISTS(${CMAKE_CURRENT_SOURCE_DIR}/Source/cmake/OptionsExperimental.cmake)
371
372 MESSAGE("Finish to check Tizen dependencies")