[Release] Webkit2-efl-123997_0.11.36
[framework/web/webkit-efl.git] / Source / cmake / OptionsTizen.cmake
1 SET(PROJECT_VERSION_MAJOR 0)
2 SET(PROJECT_VERSION_MINOR 11)
3 SET(PROJECT_VERSION_PATCH 36)
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(-DWEBCORE_NAVIGATOR_VENDOR="Tizen")
15 ADD_DEFINITIONS(-DBUILDING_EFL__=1)
16 ADD_DEFINITIONS(-DWTF_PLATFORM_EFL=1)
17 SET(WTF_PLATFORM_EFL 1)
18
19 # -----------------------------------------------------------------------------
20 # Enable CTest for the public API unit testing
21 # -----------------------------------------------------------------------------
22 ENABLE_TESTING()
23 SET(ENABLE_API_TESTS ON)
24
25 # -----------------------------------------------------------------------------
26 # Determine which font backend will be used
27 # -----------------------------------------------------------------------------
28 SET(ALL_FONT_BACKENDS freetype pango)
29 SET(FONT_BACKEND "freetype" CACHE STRING "choose which font backend to use (one of ${ALL_FONT_BACKENDS})")
30
31 FIND_PACKAGE(Cairo 1.10 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 COMPONENTS gio gobject gthread)
43 FIND_PACKAGE(LibSoup 2.37.92 REQUIRED)
44 SET(ENABLE_GLIB_SUPPORT ON)
45
46 SET(WTF_USE_SOUP 1)
47 ADD_DEFINITIONS(-DWTF_USE_SOUP=1)
48 ADD_DEFINITIONS(-DBUILDING_SOUP__=1)
49
50 ADD_DEFINITIONS(-DENABLE_CONTEXT_MENUS=1)
51
52 SET(WTF_USE_PTHREADS 1)
53 ADD_DEFINITIONS(-DWTF_USE_PTHREADS=1)
54
55 SET(WTF_USE_ICU_UNICODE 1)
56 ADD_DEFINITIONS(-DWTF_USE_ICU_UNICODE=1)
57
58 SET(WTF_USE_CAIRO 1)
59 ADD_DEFINITIONS(-DWTF_USE_CAIRO=1)
60
61 SET(JSC_EXECUTABLE_NAME jsc_efl)
62
63 SET(WTF_LIBRARY_NAME wtf_efl)
64 SET(JavaScriptCore_LIBRARY_NAME javascriptcore_efl)
65 SET(WebCore_LIBRARY_NAME webcore_efl)
66 SET(WebKit_LIBRARY_NAME ewebkit)
67 SET(WebKit2_LIBRARY_NAME ewebkit2)
68
69 SET(DATA_INSTALL_DIR "share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR}" CACHE PATH "Installation path for theme data")
70 SET(THEME_BINARY_DIR ${CMAKE_BINARY_DIR}/WebKit/efl/DefaultTheme)
71 FILE(MAKE_DIRECTORY ${THEME_BINARY_DIR})
72
73 SET(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_MODULE_PATH}/eflsymbols.filter")
74
75 WEBKIT_OPTION_BEGIN()
76 #--------------------------------------------------------------------------------------
77 # Define WebKit Features which are needed by Tizen
78 #--------------------------------------------------------------------------------------
79 WEBKIT_OPTION_DEFINE(ENABLE_ALLINONE "All in one to make build faster" ON)
80 WEBKIT_OPTION_DEFINE(ENABLE_AS_IMAGE "Enable SVG as image" ON)
81 WEBKIT_OPTION_DEFINE(ENABLE_CDOM_BINDINGS "C DOM Bindings" OFF)
82 WEBKIT_OPTION_DEFINE(ENABLE_FAST_MALLOC "Enable fastMalloc" ON)
83 WEBKIT_OPTION_DEFINE(ENABLE_MEMORY_SAMPLER "Enable Memory Sampler for WebKit2" ON)
84 WEBKIT_OPTION_DEFINE(ENABLE_OFFLINE_WEB_APPLICATIONS "Enable offline web applications" ON)
85 WEBKIT_OPTION_DEFINE(ENABLE_OVERFLOW_SCROLLING "Enable css overflow scrolling property" ON)
86 WEBKIT_OPTION_DEFINE(ENABLE_PLUGIN_PROCESS "Enable PluginProcess for WebKit2" ON)
87 WEBKIT_OPTION_DEFINE(ENABLE_FAST_MOBILE_SCROLLING "Toogle Fast Mobile Scrolling support" ON)
88 WEBKIT_OPTION_DEFINE(ENABLE_TOUCH_SLIDER "Enable touch event handling on range control of input elements" ON)
89
90 #--------------------------------------------------------------------------------------
91 # Define Tizen Specific WebKit Features
92 #--------------------------------------------------------------------------------------
93 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_CLIPBOARD "Enable Tizen Clipboard API for Tizen" ON)
94 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_CSS_ALIASES "Enable Specifying CSS Property Aliases in Tizen" ON)
95 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_CSS3_TEXT "Enable CSS3 TEXT" ON)
96 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_DBSPACE_PATH "Enable Tizen application's  directory path" ON)
97 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_EXTENSIBLE_API "Enable Tizen extensible api" 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_REGISTER_CONTENT_HANDLER "Enable the register content handler for Tizen" ON)
103 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_RESET_PATH "Enable reset path" ON)
104 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_SCREEN_READER "Enable Screen Reader" ON)
105 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_SEARCH_PROVIDER "Enable Tizen search provider for Tizen" ON)
106 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_SUPPORT "Enable Tizen Support" ON)
107 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_SUPPORT_WEBAPP_META_TAG "Enable apple meta tag" ON)
108 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_SQL_DATABASE_ENCRYPTION "Enable Encrypted sql database" OFF)
109 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_WEBKIT2_ROTATION_WHILE_JAVASCRIPT_POPUP "Enable rotation while showing javascript popup for WebKit 2" ON)
110 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_WEBKIT2 "Enable Tizen WebKit2 feature" ON)
111 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_GESTURE "Use Gesture which uses elm_gesture_layer" ON)
112 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_WEBKIT2_FORM_DATABASE "Support for Remember Form on tizen webkit2" ON)
113 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_WEBKIT2_TEXT_SELECTION "Text selection in WebKit 2" ON)
114
115 #--------------------------------------------------------------------------------------
116 # Enabled WebKit Features for Tizen or Tizen Specific Features.
117 #--------------------------------------------------------------------------------------
118 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ALLINONE ON)
119 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_API_TESTS OFF)
120 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_AS_IMAGE ON)
121 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING ON)
122 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS ON)
123 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BLOB ON)
124 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CDOM_BINDINGS OFF)
125 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CUSTOM_SCHEME_HANDLER ON)
126 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_FILTERS ON)
127 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATALIST_ELEMENT ON)
128 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION ON)
129 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE ON)
130 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT ON)
131 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FAST_MALLOC OFF)
132 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILE_SYSTEM ON)
133 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS ON)
134 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FULLSCREEN_API ON)
135 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GEOLOCATION ON)
136 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GLIB_SUPPORT ON)
137 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE ON)
138 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATE ON)
139 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATETIME ON)
140 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATETIMELOCAL ON)
141 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_MONTH ON)
142 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_TIME ON)
143 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_WEEK ON)
144 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR ON)
145 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_NOTIFICATIONS ON)
146 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VIEWPORT_ADAPTION ON)
147 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEBKIT_BLOB_BUILDER ON)
148 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEB_AUDIO ON)
149 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)
150 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE ON)
151 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM ON)
152 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER ON)
153 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML ON)
154 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MICRODATA ON)
155 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_INFO ON)
156 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS ON)
157 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFLINE_WEB_APPLICATIONS ON)
158 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ORIENTATION_EVENTS ON)
159 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OVERFLOW_SCROLLING ON)
160 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PAGE_VISIBILITY_API ON)
161 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PLUGIN_PROCESS ON)
162 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REGISTER_PROTOCOL_HANDLER ON)
163 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON)
164 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SCREEN_ORIENTATION_SUPPORT ON)  # FIXME: This option should be synced with ORIENTATION_EVENTS.
165 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
166 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK ON)
167 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_STYLE_SCOPED ON)
168 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEXT_AUTOSIZING ON)
169 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS ON)
170 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_ICON_LOADING ON)
171 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON)
172 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
173 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
174 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO ON)
175 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL ON)
176 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
177 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)
178 WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC ON)
179 WEBKIT_OPTION_DEFAULT_PORT_VALUE(WTF_USE_TILED_BACKING_STORE ON)
180 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FAST_MOBILE_SCROLLING ON)
181 WEBKIT_OPTION_END()
182
183 MACRO (TIZEN_OPTION_EXPAND _option)
184     IF (${_option})
185         STRING(REGEX REPLACE "ENABLE_" "" _N ${_option})
186         SET(ENABLE_TIZEN_${_N} 1)
187         ADD_DEFINITIONS(-DENABLE_TIZEN_${_N}=1)
188     ENDIF ()
189 ENDMACRO ()
190
191 SET(CPACK_SOURCE_GENERATOR TBZ2)
192
193 # Optimize binary size for release builds by removing dead sections on unix/gcc
194 if (CMAKE_COMPILER_IS_GNUCC AND UNIX AND NOT APPLE)
195     set(CMAKE_C_FLAGS "-ffunction-sections -fdata-sections ${CMAKE_C_FLAGS}")
196     set(CMAKE_CXX_FLAGS "-ffunction-sections -fdata-sections ${CMAKE_CXX_FLAGS}")
197     set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--gc-sections ${CMAKE_SHARED_LINKER_FLAGS}")
198 endif ()
199
200 # -----------------------------------------------------------------------------
201 # Determine which Samsung model will be defined
202 # -----------------------------------------------------------------------------
203 ADD_DEFINITIONS(-DWTF_OS_TIZEN=1)
204
205 SET(ENABLE_TIZEN_PASTEBOARD 1)
206
207 TIZEN_OPTION_EXPAND(ENABLE_BATTERY_STATUS)
208 TIZEN_OPTION_EXPAND(ENABLE_CUSTOM_SCHEME_HANDLER)
209 TIZEN_OPTION_EXPAND(ENABLE_DEVICE_ORIENTATION)
210 TIZEN_OPTION_EXPAND(ENABLE_DRAG_SUPPORT)
211 TIZEN_OPTION_EXPAND(ENABLE_FILE_SYSTEM)
212 TIZEN_OPTION_EXPAND(ENABLE_GEOLOCATION)
213 TIZEN_OPTION_EXPAND(ENABLE_INDEX_DATABASE)
214 TIZEN_OPTION_EXPAND(ENABLE_ORIENTATION_EVENTS)
215 TIZEN_OPTION_EXPAND(ENABLE_REGISTER_PROTOCOL_HANDLER)
216 TIZEN_OPTION_EXPAND(ENABLE_SCREEN_ORIENTATION_SUPPORT)
217 TIZEN_OPTION_EXPAND(ENABLE_STYLE_SCOPED)
218
219 # -----------------------------------------------------------------------------
220 # Checking Tizen dependencies.
221 # -----------------------------------------------------------------------------
222 MESSAGE("Checking Tizen dependencies...")
223 FIND_PACKAGE(CAPI REQUIRED)
224 FIND_PACKAGE(Dlog)
225 FIND_PACKAGE(EFREET REQUIRED)
226 FIND_PACKAGE(ELEMENTARY REQUIRED)
227 FIND_PACKAGE(ETHUMB REQUIRED)
228 FIND_PACKAGE(EDBUS REQUIRED)
229 FIND_PACKAGE(DBUS-1 REQUIRED)
230 FIND_PACKAGE(GLES REQUIRED)
231 FIND_PACKAGE(Media-Utils 0.1.35 REQUIRED)
232 FIND_PACKAGE(UIGadget REQUIRED)
233 FIND_PACKAGE(VConf REQUIRED)
234 FIND_PACKAGE(feedback REQUIRED)
235
236 ADD_DEFINITIONS(-DENABLE_GESTURE_EVENTS=1)
237
238 SET(ENABLE_TOUCH_ADJUSTMENT 1)
239 ADD_DEFINITIONS(-DENABLE_TOUCH_ADJUSTMENT=1)
240
241 IF (FONT_BACKEND STREQUAL "freetype")
242     FIND_PACKAGE(Freetype REQUIRED)
243     SET(WTF_USE_FREETYPE 1)
244     ADD_DEFINITIONS(-DWTF_USE_FREETYPE=1)
245
246     FIND_PACKAGE(HarfBuzz REQUIRED)
247     SET(WTF_USE_HARFBUZZ_NG 1)
248     ADD_DEFINITIONS(-DWTF_USE_HARFBUZZ_NG=1)
249 ELSE ()
250     FIND_PACKAGE(Pango REQUIRED)
251     SET(WTF_USE_PANGO 1)
252     ADD_DEFINITIONS(-DWTF_USE_PANGO=1)
253 ENDIF ()
254
255 IF(ENABLE_GEOLOCATION)
256     FIND_PACKAGE(Tizen-Location-Manager REQUIRED)
257 ENDIF()
258
259 IF (ENABLE_TIZEN_KEYGEN)
260     FIND_PACKAGE(OPENSSL REQUIRED)
261     ADD_DEFINITIONS(-DENABLE_TIZEN_KEYGEN=1)
262 ENDIF ()
263
264 IF (ENABLE_TIZEN_SQL_DATABASE_ENCRYPTION)
265     ADD_DEFINITIONS(-DENZBLE_TIZEN_SQL_DATABASE_ENCRYPTION=1)
266     ADD_DEFINITIONS(-DSQLITE_HAS_CODEC=1)
267 ENDIF ()
268
269 IF (ENABLE_TIZEN_WEBKIT2)
270     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2=1)
271 ENDIF ()
272
273 IF (Dlog_FOUND)
274     ADD_DEFINITIONS(-DENABLE_TIZEN_DLOG_SUPPORT=1)
275 ENDIF ()
276
277 IF (ENABLE_SPELLCHECK)
278     FIND_PACKAGE(Enchant REQUIRED)
279 ENDIF()
280
281 IF (WTF_USE_TILED_BACKING_STORE)
282     SET(WTF_USE_ACCELERATED_COMPOSITING 1)
283     ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_COMPOSITING=1)
284
285     SET(WTF_USE_TEXTURE_MAPPER 1)
286     ADD_DEFINITIONS(-DWTF_USE_TEXTURE_MAPPER=1)
287 ENDIF ()
288
289 IF ("${EFL_TARGET}" STREQUAL "i386")
290     MESSAGE("i386 target Build Mode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
291     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING=1)
292     SET(ENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING 1)
293     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE=1)
294     ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_VIDEO_VAAPI=1)
295     SET(ENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE 1)
296 ELSEIF ("${EFL_TARGET}" STREQUAL "emulator")
297     MESSAGE("i386 emulator Build Mode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
298     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING=0)
299     SET(ENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING 0)
300     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE=0)
301     SET(ENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE 0)
302 ELSE ()
303     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING=1)
304     SET(ENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING 1)
305     ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE=1)
306     SET(ENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE 1)
307     SET(ENABLE_WEBAUDIO_FFMPEG 1)
308 ENDIF ()
309
310
311 IF (ENABLE_INDEXED_DATABASE)
312     FIND_PACKAGE(LevelDB REQUIRED)
313     FIND_PACKAGE(LevelDB-MemEnv REQUIRED)
314     SET(WTF_USE_LEVELDB 1)
315     ADD_DEFINITIONS(-DWTF_USE_LEVELDB=1)
316 ENDIF()
317
318 IF (ENABLE_NOTIFICATIONS)
319     SET(ENABLE_TIZEN_NOTIFICATIONS 1)
320 ENDIF()
321
322 IF (ENABLE_WEB_AUDIO)
323     MESSAGE("WEB AUDIO is enabled...")
324     SET(ENABLE_TIZEN_WEB_AUDIO 1)
325     LIST(APPEND FEATURE_DEFINES ENABLE_TIZEN_WEB_AUDIO)
326     SET(FEATURE_DEFINES_WITH_SPACE_SEPARATOR "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR} ENABLE_TIZEN_WEB_AUDIO")
327     ADD_DEFINITIONS(-DENABLE_TIZEN_WEB_AUDIO=1)
328
329     SET(GSTREAMER_COMPONENTS app interfaces pbutils)
330     SET(WTF_USE_GSTREAMER 1)
331     ADD_DEFINITIONS(-DWTF_USE_GSTREAMER=1)
332
333     LIST(APPEND GSTREAMER_COMPONENTS audio fft)
334
335     IF (ENABLE_WEBAUDIO_FFMPEG)
336         SET(WTF_USE_WEBAUDIO_FFMPEG 1)
337         ADD_DEFINITIONS(-DWTF_USE_WEBAUDIO_FFMPEG=1)
338     ELSE ()
339         SET(WTF_USE_WEBAUDIO_GSTREAMER 1)
340         ADD_DEFINITIONS(-DWTF_USE_WEBAUDIO_GSTREAMER=1)
341     ENDIF ()
342
343     FIND_PACKAGE(GStreamer REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
344
345     IF (ENABLE_WEBAUDIO_FFMPEG)
346         FIND_PACKAGE(Libavcodec REQUIRED COMPONENTS)
347     ENDIF ()
348
349     SET(WEB_AUDIO_DIR
350     share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR}/webaudio)
351     ADD_DEFINITIONS(-DWEB_AUDIO_DIR="/usr/${WEB_AUDIO_DIR}")
352 ENDIF ()
353
354 IF (ENABLE_VIDEO)
355     SET(GSTREAMER_COMPONENTS app interfaces pbutils video)
356     FIND_PACKAGE(GStreamer REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
357     FIND_PACKAGE(ASM REQUIRED)
358     FIND_PACKAGE(SESSION REQUIRED)
359     FIND_PACKAGE(MMSOUND REQUIRED)
360
361     SET(WTF_USE_GSTREAMER 1)
362     ADD_DEFINITIONS(-DWTF_USE_GSTREAMER=1)
363 ENDIF()
364
365 OPTION(ENABLE_ECORE_X "Enable Ecore_X specific usage (cursor, bell)" ON)
366 IF (ENABLE_ECORE_X)
367     LIST(APPEND ECORE_ADDITIONAL_COMPONENTS X)
368     ADD_DEFINITIONS(-DHAVE_ECORE_X)
369 ENDIF ()
370
371 FIND_PACKAGE(Eina 1.2 REQUIRED)
372 FIND_PACKAGE(Evas 1.0 REQUIRED)
373 FIND_PACKAGE(Ecore 1.2 COMPONENTS Evas File Input ${ECORE_ADDITIONAL_COMPONENTS})
374 FIND_PACKAGE(Edje 1.0 REQUIRED)
375 FIND_PACKAGE(Eeze 1.2 REQUIRED)
376 #FIND_PACKAGE(Efreet 1.0 REQUIRED)
377 FIND_PACKAGE(E_DBus 1.1 COMPONENTS EUKit)
378
379 IF (ENABLE_TIZEN_SCREEN_READER)
380     FIND_PACKAGE(TTS REQUIRED)
381     ADD_DEFINITIONS(-DENABLE_TIZEN_SCREEN_READER=1)
382     ADD_DEFINITIONS(-DHAVE_ACCESSIBILITY=1)
383 ENDIF()
384
385 INCLUDE_IF_EXISTS(${CMAKE_CURRENT_SOURCE_DIR}/Source/cmake/OptionsExperimental.cmake)
386
387 MESSAGE("Finish to check Tizen dependencies")