8c022ec9f99c5c513e530f2e11d9ba33d4384c9b
[WebKit-https.git] / cmake / OptionsEfl.cmake
1 SET(PROJECT_VERSION_MAJOR 0)
2 SET(PROJECT_VERSION_MINOR 1)
3 SET(PROJECT_VERSION_PATCH 0)
4 SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
5
6 ADD_DEFINITIONS(-DWTF_PLATFORM_EFL=1)
7 SET(WTF_PLATFORM_EFL 1)
8
9 # -----------------------------------------------------------------------------
10 # Determine which network backend will be used
11 # -----------------------------------------------------------------------------
12 SET(ALL_NETWORK_BACKENDS soup curl)
13 SET(NETWORK_BACKEND "soup" CACHE STRING "choose which network backend to use (one of ${ALL_NETWORK_BACKENDS})")
14
15 # -----------------------------------------------------------------------------
16 # Determine which font backend will be used
17 # -----------------------------------------------------------------------------
18 SET(ALL_FONT_BACKENDS freetype pango)
19 SET(FONT_BACKEND "freetype" CACHE STRING "choose which network backend to use (one of ${ALL_FONT_BACKENDS})")
20
21 FIND_PACKAGE(Cairo 1.6 REQUIRED)
22 FIND_PACKAGE(EFL REQUIRED)
23 FIND_PACKAGE(Fontconfig 2.8.0 REQUIRED)
24 FIND_PACKAGE(Sqlite REQUIRED)
25 FIND_PACKAGE(LibXml2 2.6 REQUIRED)
26 FIND_PACKAGE(LibXslt 1.1.7 REQUIRED)
27 FIND_PACKAGE(ICU REQUIRED)
28 FIND_PACKAGE(Threads REQUIRED)
29 FIND_PACKAGE(JPEG REQUIRED)
30 FIND_PACKAGE(PNG REQUIRED)
31
32 ADD_DEFINITIONS(-DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1)
33
34 SET(WTF_USE_PTHREADS 1)
35 ADD_DEFINITIONS(-DWTF_USE_PTHREADS=1)
36
37 SET(WTF_USE_ICU_UNICODE 1)
38 ADD_DEFINITIONS(-DWTF_USE_ICU_UNICODE=1)
39 LIST(APPEND WTF_INCLUDE_DIRECTORIES ${ICU_INCLUDE_DIRS})
40
41 SET(WTF_PLATFORM_CAIRO 1)
42 ADD_DEFINITIONS(-DWTF_PLATFORM_CAIRO=1)
43
44 SET(JSC_EXECUTABLE_NAME jsc_efl)
45 SET(WTF_LIBRARY_NAME wtf_efl)
46 SET(JavaScriptCore_LIBRARY_NAME javascriptcore_efl)
47 SET(WebCore_LIBRARY_NAME webcore_efl)
48 SET(WebKit_LIBRARY_NAME ewebkit)
49
50 SET(DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR})
51 ADD_DEFINITIONS(-DDATA_DIR="${DATA_DIR}")
52
53 SET(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_SOURCE_DIR}/cmake/eflsymbols.filter")
54
55 WEBKIT_FEATURE(ENABLE_AS_IMAGE "Enable SVG as image" DEFAULT ON SVG)
56 WEBKIT_FEATURE(ENABLE_BLOB "Enable blob slice" DEFAULT OFF)
57 WEBKIT_FEATURE(ENABLE_CHANNEL_MESSAGING "Enable channel messaging" DEFAULT ON)
58 WEBKIT_FEATURE(ENABLE_DATABASE "Enable database" DEFAULT ON)
59 WEBKIT_FEATURE(ENABLE_DATAGRID "Enable datagrid" DEFAULT OFF)
60 WEBKIT_FEATURE(ENABLE_DATALIST "Enable datalist" DEFAULT ON HTML)
61 WEBKIT_FEATURE(ENABLE_DOM_STORAGE "Enable DOM storage" DEFAULT ON)
62 WEBKIT_FEATURE(ENABLE_EVENTSOURCE "Enable event source" DEFAULT ON)
63 WEBKIT_FEATURE(ENABLE_FAST_MALLOC "Enable TCmalloc instead of system's allocator" DEFAULT ON)
64 WEBKIT_FEATURE(ENABLE_FAST_MOBILE_SCROLLING "Enable fast mobile scrolling" DEFAULT ON)
65 WEBKIT_FEATURE(ENABLE_FILTERS "Enable SVG filters" DEFAULT ON SVG)
66 WEBKIT_FEATURE(ENABLE_FTPDIR "Enable FTP directory support" DEFAULT ON)
67 WEBKIT_FEATURE(ENABLE_GEOLOCATION "Enable geolocation" DEFAULT OFF)
68 WEBKIT_FEATURE(ENABLE_GLIB_SUPPORT "Enable Glib support" DEFAULT ON)
69 WEBKIT_FEATURE(ENABLE_ICONDATABASE "Enable icon database" DEFAULT ON)
70 WEBKIT_FEATURE(ENABLE_INSPECTOR "Enable inspector" DEFAULT ON)
71 WEBKIT_FEATURE(ENABLE_JAVASCRIPT_DEBUGGER "Enable JavaScript debugger" DEFAULT ON)
72 WEBKIT_FEATURE(ENABLE_JIT "Enable JIT code" DEFAULT OFF)
73 WEBKIT_FEATURE(ENABLE_MATHML "Enable MathML" DEFAULT ON)
74 WEBKIT_FEATURE(ENABLE_NETSCAPE_PLUGIN_API "Enable Netscape plugin API" DEFAULT OFF)
75 WEBKIT_FEATURE(ENABLE_NOTIFICATIONS "Enable notifications" DEFAULT OFF)
76 WEBKIT_FEATURE(ENABLE_OFFLINE_WEB_APPLICATIONS "Enable offline web applications" DEFAULT ON)
77 WEBKIT_FEATURE(ENABLE_ORIENTATION_EVENTS "Enable orientation events" DEFAULT OFF)
78 WEBKIT_FEATURE(ENABLE_PROGRESS_TAG "Enable progress tag" DEFAULT OFF)
79 WEBKIT_FEATURE(ENABLE_SHARED_WORKERS "Enable shared workers" DEFAULT ON)
80 WEBKIT_FEATURE(ENABLE_SVG "Enable SVG" DEFAULT ON)
81 WEBKIT_FEATURE(ENABLE_SVG_ANIMATION "Enable SVG animation" DEFAULT ON SVG)
82 WEBKIT_FEATURE(ENABLE_SVG_FONTS "Enable SVG fonts" DEFAULT ON SVG)
83 WEBKIT_FEATURE(ENABLE_SVG_FOREIGN_OBJECT "Enable SVG foreign object" DEFAULT ON SVG)
84 WEBKIT_FEATURE(ENABLE_SVG_USE "Enable SVG use" DEFAULT ON SVG)
85 WEBKIT_FEATURE(ENABLE_VIDEO "Enable video" DEFAULT ON HTML)
86 WEBKIT_FEATURE(ENABLE_WEB_SOCKETS "Enable web sockets" DEFAULT OFF)
87 WEBKIT_FEATURE(ENABLE_WML "Enable WML" DEFAULT OFF)
88 WEBKIT_FEATURE(ENABLE_WORKERS "Enable workers" DEFAULT ON)
89 WEBKIT_FEATURE(ENABLE_XHTMLMP "Enable XHTMLMP" DEFAULT OFF)
90 WEBKIT_FEATURE(ENABLE_XPATH "Enable XPath" DEFAULT ON)
91 WEBKIT_FEATURE(ENABLE_XSLT "Enable XSLT" DEFAULT ON)
92
93 OPTION(ENABLE_ECORE_X "Enable Ecore_X specific usage (cursor, bell)" ON)
94 IF (ENABLE_ECORE_X)
95     IF (ECORE_X_FOUND)
96         MESSAGE(STATUS "Using Ecore-X to provide extended support.")
97         ADD_DEFINITIONS(-DHAVE_ECORE_X)
98     ELSE ()
99         MESSAGE(ERROR "Requested Ecore-X but it was not found!")
100     ENDIF ()
101 ENDIF ()
102
103 IF (NETWORK_BACKEND STREQUAL "soup")
104   IF (NOT ENABLE_GLIB_SUPPORT)
105     SET(ENABLE_GLIB_SUPPORT 1)
106     MESSAGE("Forcing Glib support")
107   ENDIF ()
108   FIND_PACKAGE(LibSoup2 2.28.2 REQUIRED)
109   SET(WTF_USE_SOUP 1)
110   ADD_DEFINITIONS(-DWTF_USE_SOUP=1)
111
112   IF (LIBSOUP24_VERSION VERSION_LESS 2.29.90)
113   ELSE (LIBSOUP24_VERSION VERSION_LESS 2.29.90)
114       SET(HAVE_LIBSOUP_2_29_90 1)
115       ADD_DEFINITIONS(-DHAVE_LIBSOUP_2_29_90=1)
116   ENDIF ()
117 ELSE ()
118   FIND_PACKAGE(CURL REQUIRED)
119   SET(WTF_USE_CURL 1)
120   ADD_DEFINITIONS(-DWTF_USE_CURL=1)
121 ENDIF ()
122
123 IF (FONT_BACKEND STREQUAL "freetype")
124   FIND_PACKAGE(Freetype 9.0 REQUIRED)
125   SET(WTF_USE_FREETYPE 1)
126   ADD_DEFINITIONS(-DUSE_FREETYPE=1)
127 ELSE ()
128   FIND_PACKAGE(Pango REQUIRED)
129   SET(WTF_USE_PANGO 1)
130   ADD_DEFINITIONS(-DUSE_PANGO=1)
131
132   IF (NOT ENABLE_GLIB_SUPPORT)
133     SET(ENABLE_GLIB_SUPPORT 1)
134     MESSAGE("Forcing Glib support")
135   ENDIF ()
136 ENDIF ()
137
138 IF (ENABLE_VIDEO)
139   SET(ENABLE_GLIB_SUPPORT 1)
140   MESSAGE("Forcing Glib support")
141 ENDIF()
142
143 IF (ENABLE_GLIB_SUPPORT)
144   FIND_PACKAGE(GDK 2.10 REQUIRED)
145   FIND_PACKAGE(Glib REQUIRED)
146   FIND_PACKAGE(Gthread REQUIRED)
147 ENDIF ()
148
149 IF (ENABLE_VIDEO)
150   FIND_PACKAGE(GStreamer REQUIRED)
151   FIND_PACKAGE(GStreamer-App REQUIRED)
152   FIND_PACKAGE(GStreamer-Base REQUIRED)
153   FIND_PACKAGE(GStreamer-Pbutils REQUIRED)
154   FIND_PACKAGE(GStreamer-Interfaces REQUIRED)
155   FIND_PACKAGE(GStreamer-Plugins-Base REQUIRED)
156   FIND_PACKAGE(GStreamer-Video REQUIRED)
157   SET(WTF_USE_GSTREAMER 1)
158   ADD_DEFINITIONS(-DWTF_USE_GSTREAMER=1)
159 ENDIF()
160
161 SET(CPACK_SOURCE_GENERATOR TBZ2)