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