1 SET(PROJECT_VERSION_MAJOR 0)
2 SET(PROJECT_VERSION_MINOR 12)
3 SET(PROJECT_VERSION_PATCH 1)
4 SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
6 # -----------------------------------------------------------------------------
7 # We mention Safari version because many sites check for it.
8 # Sync with Source/WebCore/Configurations/Version.xcconfig whenever Safari is
10 # -----------------------------------------------------------------------------
11 SET(WEBKIT_USER_AGENT_MAJOR_VERSION 537)
12 SET(WEBKIT_USER_AGENT_MINOR_VERSION 2)
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)
19 # -----------------------------------------------------------------------------
20 # Enable CTest for the public API unit testing
21 # -----------------------------------------------------------------------------
23 SET(ENABLE_API_TESTS ON)
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})")
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)
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)
47 ADD_DEFINITIONS(-DWTF_USE_SOUP=1)
48 ADD_DEFINITIONS(-DBUILDING_SOUP__=1)
50 ADD_DEFINITIONS(-DENABLE_CONTEXT_MENUS=1)
52 SET(WTF_USE_PTHREADS 1)
53 ADD_DEFINITIONS(-DWTF_USE_PTHREADS=1)
55 SET(WTF_USE_ICU_UNICODE 1)
56 ADD_DEFINITIONS(-DWTF_USE_ICU_UNICODE=1)
59 ADD_DEFINITIONS(-DWTF_USE_CAIRO=1)
61 SET(JSC_EXECUTABLE_NAME jsc_efl)
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)
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})
73 SET(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_MODULE_PATH}/eflsymbols.filter")
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)
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)
115 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_AUDIO_SESSION_MANAGER "Audio Session Manager Support" OFF)
116 # - ENABLE_TIZEN_AUDIO_SESSION_MANAGER: An audio session manager is merely used
117 # to control the playing of the media streams. On a telephone there is a need
118 # to suspend the playing of media elements when receiving incomming call. And
119 # also naturally to resume the playing after completion of the event. This
120 # behaviour is currently linked to what is called the "audio session manager".
121 # From the integrator point of view, the audio session manager is currently
122 # implemented under TIZEN through the libmm-... libraries (multi media libraries).
123 # For some TIZEN environments, the integration of these libraries isn't wished,
124 # nor also would be wished the audio session manager.
125 # This option controls whether the audio session manager is integrated or not.
127 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_AUDIO_SESSION_MANAGER_WITH_MURPHY "Audio Session Manager with Murphy Support" OFF)
128 # - ENABLE_TIZEN_AUDIO_SESSION_MANAGER_WITH_MURPHY: This option controls if
129 # audio session manager is compiled to use Murphy engine or not.
131 WEBKIT_OPTION_DEFINE(ENABLE_TIZEN_GSTREAMER_VIDEO_SET_SINK "Use of a webkit provided video sink for gstreamer" OFF)
132 # - ENABLE_TIZEN_GSTREAMER_VIDEO_SET_SINK: The behaviour of this option is frankly
133 # complicated and its name isn't obvious. For some TIZEN targets, the treatment
134 # of the video frame buffers with gstreamer must use a concrete webkit video sink
135 # (currently implemented by the class VideoSinkGStreamer within platform/graphics/gstreamer)
136 # and must not use a predefined gstreamer videosink with overlay.
137 # This option enforces that way of processing video frames even when
138 # TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE is enabled.
140 #--------------------------------------------------------------------------------------
141 # Enabled WebKit Features for Tizen or Tizen Specific Features.
142 #--------------------------------------------------------------------------------------
143 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ALLINONE ON)
144 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_API_TESTS OFF)
145 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_AS_IMAGE ON)
146 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING ON)
147 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS ON)
148 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BLOB ON)
149 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CDOM_BINDINGS OFF)
150 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CUSTOM_SCHEME_HANDLER ON)
151 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_FILTERS ON)
152 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATALIST_ELEMENT ON)
153 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION ON)
154 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE ON)
155 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT ON)
156 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FAST_MALLOC OFF)
157 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILE_SYSTEM ON)
158 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS ON)
159 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FULLSCREEN_API ON)
160 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GEOLOCATION ON)
161 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GLIB_SUPPORT ON)
162 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE ON)
163 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATE ON)
164 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATETIME ON)
165 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_DATETIMELOCAL ON)
166 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_MONTH ON)
167 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_TIME ON)
168 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_WEEK ON)
169 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR ON)
170 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_NOTIFICATIONS ON)
171 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_VIEWPORT_ADAPTION ON)
172 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEBKIT_BLOB_BUILDER ON)
173 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEB_AUDIO ON)
174 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)
175 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE ON)
176 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM ON)
177 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER ON)
178 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML ON)
179 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MICRODATA ON)
180 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_INFO ON)
181 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS ON)
182 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OFFLINE_WEB_APPLICATIONS ON)
183 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ORIENTATION_EVENTS ON)
184 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_OVERFLOW_SCROLLING ON)
185 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PAGE_VISIBILITY_API ON)
186 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PLUGIN_PROCESS ON)
187 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REGISTER_PROTOCOL_HANDLER ON)
188 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON)
189 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SCREEN_ORIENTATION_SUPPORT ON) # FIXME: This option should be synced with ORIENTATION_EVENTS.
190 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
191 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK ON)
192 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_STYLE_SCOPED ON)
193 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEXT_AUTOSIZING ON)
194 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS ON)
195 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_ICON_LOADING ON)
196 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON)
197 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
198 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
199 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO ON)
200 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL ON)
201 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
202 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)
203 WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC ON)
204 WEBKIT_OPTION_DEFAULT_PORT_VALUE(WTF_USE_TILED_BACKING_STORE ON)
205 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FAST_MOBILE_SCROLLING ON)
208 MACRO (TIZEN_OPTION_EXPAND _option)
210 STRING(REGEX REPLACE "ENABLE_" "" _N ${_option})
211 SET(ENABLE_TIZEN_${_N} 1)
212 ADD_DEFINITIONS(-DENABLE_TIZEN_${_N}=1)
216 SET(CPACK_SOURCE_GENERATOR TBZ2)
218 # Optimize binary size for release builds by removing dead sections on unix/gcc
219 if (CMAKE_COMPILER_IS_GNUCC AND UNIX AND NOT APPLE)
220 set(CMAKE_C_FLAGS "-ffunction-sections -fdata-sections ${CMAKE_C_FLAGS}")
221 set(CMAKE_CXX_FLAGS "-ffunction-sections -fdata-sections ${CMAKE_CXX_FLAGS}")
222 set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--gc-sections ${CMAKE_SHARED_LINKER_FLAGS}")
225 # -----------------------------------------------------------------------------
226 # Determine which Samsung model will be defined
227 # -----------------------------------------------------------------------------
228 ADD_DEFINITIONS(-DWTF_OS_TIZEN=1)
230 SET(ENABLE_TIZEN_PASTEBOARD 1)
232 TIZEN_OPTION_EXPAND(ENABLE_BATTERY_STATUS)
233 TIZEN_OPTION_EXPAND(ENABLE_CUSTOM_SCHEME_HANDLER)
234 TIZEN_OPTION_EXPAND(ENABLE_DEVICE_ORIENTATION)
235 TIZEN_OPTION_EXPAND(ENABLE_DRAG_SUPPORT)
236 TIZEN_OPTION_EXPAND(ENABLE_FILE_SYSTEM)
237 TIZEN_OPTION_EXPAND(ENABLE_GEOLOCATION)
238 TIZEN_OPTION_EXPAND(ENABLE_INDEX_DATABASE)
239 TIZEN_OPTION_EXPAND(ENABLE_ORIENTATION_EVENTS)
240 TIZEN_OPTION_EXPAND(ENABLE_REGISTER_PROTOCOL_HANDLER)
241 TIZEN_OPTION_EXPAND(ENABLE_SCREEN_ORIENTATION_SUPPORT)
242 TIZEN_OPTION_EXPAND(ENABLE_STYLE_SCOPED)
244 # -----------------------------------------------------------------------------
245 # Checking Tizen dependencies.
246 # -----------------------------------------------------------------------------
247 MESSAGE("Checking Tizen dependencies...")
248 FIND_PACKAGE(CAPI REQUIRED)
250 FIND_PACKAGE(EFREET REQUIRED)
251 FIND_PACKAGE(ELEMENTARY REQUIRED)
252 FIND_PACKAGE(ETHUMB REQUIRED)
253 FIND_PACKAGE(EDBUS REQUIRED)
254 FIND_PACKAGE(DBUS-1 REQUIRED)
255 FIND_PACKAGE(GLES REQUIRED)
256 FIND_PACKAGE(Media-Utils 0.1.35 REQUIRED)
257 FIND_PACKAGE(UIGadget REQUIRED)
258 FIND_PACKAGE(VConf REQUIRED)
259 FIND_PACKAGE(feedback REQUIRED)
261 IF (NOT ENABLE_TIZEN_DESKTOP_BROWSING)
262 ADD_DEFINITIONS(-DENABLE_GESTURE_EVENTS=1)
264 ADD_DEFINITIONS(-DWTF_USE_EGL=1)
265 ADD_DEFINITIONS(-DWTF_USE_OPENGL_ES_2=1)
267 SET(ENABLE_TOUCH_ADJUSTMENT 1)
268 ADD_DEFINITIONS(-DENABLE_TOUCH_ADJUSTMENT=1)
270 IF (FONT_BACKEND STREQUAL "freetype")
271 FIND_PACKAGE(Freetype REQUIRED)
272 SET(WTF_USE_FREETYPE 1)
273 ADD_DEFINITIONS(-DWTF_USE_FREETYPE=1)
275 FIND_PACKAGE(HarfBuzz REQUIRED)
276 SET(WTF_USE_HARFBUZZ_NG 1)
277 ADD_DEFINITIONS(-DWTF_USE_HARFBUZZ_NG=1)
279 FIND_PACKAGE(Pango REQUIRED)
281 ADD_DEFINITIONS(-DWTF_USE_PANGO=1)
284 IF(ENABLE_GEOLOCATION)
285 FIND_PACKAGE(Tizen-Location-Manager REQUIRED)
288 IF (ENABLE_TIZEN_KEYGEN)
289 FIND_PACKAGE(OPENSSL REQUIRED)
290 ADD_DEFINITIONS(-DENABLE_TIZEN_KEYGEN=1)
293 IF (ENABLE_TIZEN_SQL_DATABASE_ENCRYPTION)
294 ADD_DEFINITIONS(-DENZBLE_TIZEN_SQL_DATABASE_ENCRYPTION=1)
295 ADD_DEFINITIONS(-DSQLITE_HAS_CODEC=1)
298 IF (ENABLE_TIZEN_WEBKIT2)
299 ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2=1)
303 ADD_DEFINITIONS(-DENABLE_TIZEN_DLOG_SUPPORT=1)
306 IF (ENABLE_SPELLCHECK)
307 FIND_PACKAGE(Enchant REQUIRED)
310 IF (WTF_USE_TILED_BACKING_STORE)
311 SET(WTF_USE_ACCELERATED_COMPOSITING 1)
312 ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_COMPOSITING=1)
314 SET(WTF_USE_TEXTURE_MAPPER 1)
315 ADD_DEFINITIONS(-DWTF_USE_TEXTURE_MAPPER=1)
318 IF ("${EFL_TARGET}" STREQUAL "i386")
319 MESSAGE("i386 target Build Mode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
320 ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING=1)
321 SET(ENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING 1)
322 ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE=1)
323 ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_VIDEO_VAAPI=1)
324 SET(ENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE 1)
325 ELSEIF ("${EFL_TARGET}" STREQUAL "emulator")
326 MESSAGE("i386 emulator Build Mode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
327 ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING=1)
328 SET(ENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING 1)
329 ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE=1)
330 SET(ENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE 1)
331 ADD_DEFINITIONS(-DENABLE_TIZEN_EMULATOR=1)
332 SET(ENABLE_TIZEN_EMULATOR 1)
334 ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING=1)
335 SET(ENABLE_TIZEN_WEBKIT2_DIRECT_RENDERING 1)
336 ADD_DEFINITIONS(-DENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE=1)
337 SET(ENABLE_TIZEN_WEBKIT2_TILED_AC_SHARED_PLATFORM_SURFACE 1)
338 SET(ENABLE_WEBAUDIO_FFMPEG 1)
342 IF (ENABLE_INDEXED_DATABASE)
343 FIND_PACKAGE(LevelDB REQUIRED)
344 FIND_PACKAGE(LevelDB-MemEnv REQUIRED)
345 SET(WTF_USE_LEVELDB 1)
346 ADD_DEFINITIONS(-DWTF_USE_LEVELDB=1)
349 IF (ENABLE_NOTIFICATIONS)
350 SET(ENABLE_TIZEN_NOTIFICATIONS 1)
353 IF (ENABLE_WEB_AUDIO)
354 MESSAGE("WEB AUDIO is enabled...")
355 SET(ENABLE_TIZEN_WEB_AUDIO 1)
356 LIST(APPEND FEATURE_DEFINES ENABLE_TIZEN_WEB_AUDIO)
357 SET(FEATURE_DEFINES_WITH_SPACE_SEPARATOR "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR} ENABLE_TIZEN_WEB_AUDIO")
358 ADD_DEFINITIONS(-DENABLE_TIZEN_WEB_AUDIO=1)
360 IF (ENABLE_TIZEN_AUDIO_SESSION_MANAGER)
361 ADD_DEFINITIONS(-DENABLE_TIZEN_AUDIO_SESSION_MANAGER=1)
363 IF(GST_API_VERSION_1)
364 SET(GSTREAMER_COMPONENTS app pbutils)
366 SET(GSTREAMER_COMPONENTS app interfaces pbutils)
368 SET(WTF_USE_GSTREAMER 1)
369 ADD_DEFINITIONS(-DWTF_USE_GSTREAMER=1)
370 IF (ENABLE_TIZEN_AUDIO_SESSION_MANAGER_WITH_MURPHY)
371 ADD_DEFINITIONS(-DENABLE_TIZEN_AUDIO_SESSION_MANAGER_WITH_MURPHY=1)
374 LIST(APPEND GSTREAMER_COMPONENTS audio fft)
376 IF (ENABLE_WEBAUDIO_FFMPEG)
377 SET(WTF_USE_WEBAUDIO_FFMPEG 1)
378 ADD_DEFINITIONS(-DWTF_USE_WEBAUDIO_FFMPEG=1)
380 SET(WTF_USE_WEBAUDIO_GSTREAMER 1)
381 ADD_DEFINITIONS(-DWTF_USE_WEBAUDIO_GSTREAMER=1)
384 FIND_PACKAGE(GStreamer REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
386 IF (ENABLE_WEBAUDIO_FFMPEG)
387 FIND_PACKAGE(Libavcodec REQUIRED COMPONENTS)
391 share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR}/webaudio)
392 ADD_DEFINITIONS(-DWEB_AUDIO_DIR="/usr/${WEB_AUDIO_DIR}")
396 IF(GST_API_VERSION_1)
397 SET(GSTREAMER_COMPONENTS app pbutils video)
399 SET(GSTREAMER_COMPONENTS app interfaces pbutils video)
401 FIND_PACKAGE(GStreamer REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
402 IF (ENABLE_TIZEN_AUDIO_SESSION_MANAGER)
403 FIND_PACKAGE(ASM REQUIRED)
404 FIND_PACKAGE(SESSION REQUIRED)
405 FIND_PACKAGE(MMSOUND REQUIRED)
407 SET(WTF_USE_GSTREAMER 1)
408 ADD_DEFINITIONS(-DWTF_USE_GSTREAMER=1)
411 OPTION(ENABLE_ECORE_X "Enable Ecore_X specific usage (cursor, bell)" ON)
413 LIST(APPEND ECORE_ADDITIONAL_COMPONENTS X)
414 ADD_DEFINITIONS(-DHAVE_ECORE_X)
415 ADD_DEFINITIONS(-DWTF_PLATFORM_X11=1)
416 SET(WTF_PLATFORM_X11 1)
418 LIST(APPEND ECORE_ADDITIONAL_COMPONENTS WAYLAND)
419 FIND_PACKAGE(Wayland REQUIRED)
420 ADD_DEFINITIONS(-DWTF_PLATFORM_WAYLAND=1)
421 SET(WTF_PLATFORM_WAYLAND 1)
422 IF (ENABLE_TIZEN_EMULATOR)
423 ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_VIDEO_VAAPI=1)
427 IF (ENABLE_TIZEN_GSTREAMER_VIDEO_SET_SINK AND NOT ("${EFL_TARGET}" STREQUAL "i386"))
428 IF (ENABLE_ECORE_X OR NOT ENABLE_TIZEN_EMULATOR)
429 SET(WTF_USE_TIZEN_GSTREAMER_VIDEO_SET_SINK 1)
430 ADD_DEFINITIONS(-DWTF_USE_TIZEN_GSTREAMER_VIDEO_SET_SINK=1)
435 ADD_DEFINITIONS(-DWTF_USE_MESA=1)
439 FIND_PACKAGE(Eina 1.2 REQUIRED)
440 FIND_PACKAGE(Evas 1.0 REQUIRED)
441 FIND_PACKAGE(Ecore 1.2 COMPONENTS Evas File Input ${ECORE_ADDITIONAL_COMPONENTS})
442 FIND_PACKAGE(Edje 1.0 REQUIRED)
443 FIND_PACKAGE(Eeze 1.2 REQUIRED)
444 #FIND_PACKAGE(Efreet 1.0 REQUIRED)
445 FIND_PACKAGE(E_DBus 1.1 COMPONENTS EUKit)
447 IF (ENABLE_TIZEN_SCREEN_READER)
448 FIND_PACKAGE(TTS REQUIRED)
449 ADD_DEFINITIONS(-DENABLE_TIZEN_SCREEN_READER=1)
450 ADD_DEFINITIONS(-DHAVE_ACCESSIBILITY=1)
453 IF (ENABLE_TIZEN_DESKTOP_BROWSING)
454 ADD_DEFINITIONS(-DENABLE_TIZEN_DESKTOP_BROWSING=1)
457 INCLUDE_IF_EXISTS(${CMAKE_CURRENT_SOURCE_DIR}/Source/cmake/OptionsExperimental.cmake)
459 MESSAGE("Finish to check Tizen dependencies")