From: paroga@webkit.org Date: Mon, 9 Apr 2012 10:45:15 +0000 (+0000) Subject: [CMake] Share build system options across ports X-Git-Tag: 070512121124~7563 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=67e6445843e5afb1b378fd233b60cafe921110d6;p=profile%2Fivi%2Fwebkit-efl.git [CMake] Share build system options across ports https://bugs.webkit.org/show_bug.cgi?id=72815 Reviewed by Daniel Bates. Don't define the generic features for every port again. Add a few macros for reusing the central defined options. * CMakeLists.txt: * Source/cmake/OptionsBlackBerry.cmake: * Source/cmake/OptionsEfl.cmake: * Source/cmake/OptionsWinCE.cmake: * Source/cmake/WebKitFeatures.cmake: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113570 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- diff --git a/CMakeLists.txt b/CMakeLists.txt index a9c1ba9..cb830bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,7 +164,3 @@ IF (ENABLE_TOOLS) ADD_SUBDIRECTORY(Tools) ENDIF () -# ----------------------------------------------------------------------------- -# Prints a summary of all enabled/disabled features -# ----------------------------------------------------------------------------- -WEBKIT_PRINT_FEATURES() diff --git a/ChangeLog b/ChangeLog index db1bf7c..dc7e200 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2012-04-09 Patrick Gansterer + + [CMake] Share build system options across ports + https://bugs.webkit.org/show_bug.cgi?id=72815 + + Reviewed by Daniel Bates. + + Don't define the generic features for every port again. + Add a few macros for reusing the central defined options. + + * CMakeLists.txt: + * Source/cmake/OptionsBlackBerry.cmake: + * Source/cmake/OptionsEfl.cmake: + * Source/cmake/OptionsWinCE.cmake: + * Source/cmake/WebKitFeatures.cmake: + 2012-04-07 Rob Buis [BlackBerry] Add Battery Status API support diff --git a/Source/WTF/wtf/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt index 8b19358..d316eaf 100644 --- a/Source/WTF/wtf/CMakeLists.txt +++ b/Source/WTF/wtf/CMakeLists.txt @@ -193,12 +193,12 @@ SET(WTF_INCLUDE_DIRECTORIES "${CMAKE_BINARY_DIR}" ) -IF (ENABLE_FAST_MALLOC) +IF (USE_SYSTEM_MALLOC) + ADD_DEFINITIONS(-DUSE_SYSTEM_MALLOC=1) +ELSE () LIST(APPEND WTF_SOURCES TCSystemAlloc.cpp ) -ELSE () - ADD_DEFINITIONS(-DUSE_SYSTEM_MALLOC=1) ENDIF() WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() diff --git a/Source/cmake/OptionsBlackBerry.cmake b/Source/cmake/OptionsBlackBerry.cmake index d622ebf..0e11941 100644 --- a/Source/cmake/OptionsBlackBerry.cmake +++ b/Source/cmake/OptionsBlackBerry.cmake @@ -124,85 +124,51 @@ SET(WebCore_LIBRARY_NAME webcore) SET(WebKit_LIBRARY_NAME webkit) SET(WebKit_DRT_LIBRARY_NAME webkit_DRT) -IF (TARGETING_PLAYBOOK) - WEBKIT_FEATURE(ENABLE_3D_RENDERING "Enable 3D Rendering" DEFAULT ON) - WEBKIT_FEATURE(ENABLE_WEBGL "Enable WebGL" DEFAULT ON) -ELSE () - WEBKIT_FEATURE(ENABLE_3D_RENDERING "Enable 3D Rendering" DEFAULT OFF) - WEBKIT_FEATURE(ENABLE_WEBGL "Enable WebGL" DEFAULT OFF) -ENDIF () - -WEBKIT_FEATURE(ENABLE_ASSEMBLER_WX_EXCLUSIVE "Assembler WX Exclusive" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_BATTERY_STATUS "Enable battery status api" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_BLOB "Enable blob slice" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_CHANNEL_MESSAGING "Enable channel messaging" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_DATABASE "Enable database" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_DATALIST "Enable datalist" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_DETAILS "Enable details element" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_DEVICE_ORIENTATION "Enable Device Orientation" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_DOM_STORAGE "Enable DOM storage" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_DRAG_SUPPORT "Enable Drag Support" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_EVENTSOURCE "Enable event source" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_EVENT_MODE_METATAGS "Enable meta-tag touch and mouse events" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FAST_MOBILE_SCROLLING "Enable fast mobile scrolling" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FILE_SYSTEM "Enable file system" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FILTERS "Enable SVG filters" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FIXED_REPORTED_SIZE "Fixed Reported Size" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FTPDIR "Enable FTP directory browsing" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_GEOLOCATION "Enable geolocation" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_GLIB_SUPPORT "Enable Glib support" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_ICONDATABASE "Enable icon database" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_IMAGE_DECODER_DOWN_SAMPLING "Enable image decoder down sampling" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_INDEXED_DATABASE "Enable IndexDB" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_INPUT_TYPE_COLOR "Enable Color Input" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_INSPECTOR "Enable inspector" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_JAVASCRIPT_DEBUGGER "Enable JavaScript debugger" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_LEGACY_NOTIFICATIONS "Enable legacy notifications" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_MATHML "Enable MathML" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_METER_TAG "Enable Meter Tag" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_NETSCAPE_PLUGIN_API "Enable Netscape plugin API" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_NOTIFICATIONS "Enable notifications" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_OFFLINE_WEB_APPLICATIONS "Enable offline web applications" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_ORIENTATION_EVENTS "Enable orientation events" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_PROGRESS_TAG "Enable progress tag" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_REPAINT_THROTTLING "Enable repaint throttling" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_RUBY "Enable Ruby" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SHARED_WORKERS "Enable shared workers" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SHADOW_DOM "Enable Shadow DOM" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_SVG "Enable SVG" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SVG_ANIMATION "Enable SVG animation" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SVG_AS_IMAGE "Enable SVG as image" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SVG_FONTS "Enable SVG fonts" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SVG_FOREIGN_OBJECT "Enable SVG foreign object" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SVG_USE "Enable SVG use" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_TOUCH_EVENTS "Enable touch events " DEFAULT ON) -WEBKIT_FEATURE(ENABLE_VIBRATION "Enable vibration support" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_VIDEO "Enable video" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_VIEWPORT_REFLOW "Enable viewport reflow" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_WEB_SOCKETS "Enable web sockets" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_WEB_TIMING "Enable web timing" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_WORKERS "Enable workers" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_XHTMLMP "Enable XHTMLMP" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_XPATH "Enable XPath" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_XSLT "Enable XSLT" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_CSS3_FLEXBOX "Enable CSS3 Flexbox" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_PLUGIN_PROXY_FOR_VIDEO "Plugin Proxy for Video" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_ANIMATION_API "Enable animation API" DEFAULT ON) +WEBKIT_OPTION_BEGIN() + +WEBKIT_OPTION_DEFINE(ENABLE_EVENT_MODE_METATAGS "Enable meta-tag touch and mouse events" ON) +WEBKIT_OPTION_DEFINE(ENABLE_VIEWPORT_REFLOW "Enable viewport reflow" ON) + +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ANIMATION_API ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ASSEMBLER_WX_EXCLUSIVE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BLOB ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILE_SYSTEM ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GEOLOCATION ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_IMAGE_DECODER_DOWN_SAMPLING ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_NOTIFICATIONS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ORIENTATION_EVENTS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PAGE_VISIBILITY_API ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REPAINT_THROTTLING ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON) -IF (ENABLE_DRT) - WEBKIT_FEATURE(ENABLE_DRT "Enable DRT" DEFAULT ON) +IF (TARGETING_PLAYBOOK) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING ON) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL ON) ELSE () - WEBKIT_FEATURE(ENABLE_DRT "Enable DRT" DEFAULT OFF) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING OFF) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL OFF) ENDIF () IF (CMAKE_SYSTEM_PROCESSOR MATCHES x86) - WEBKIT_FEATURE(ENABLE_JIT "Enable JIT" DEFAULT OFF) - WEBKIT_FEATURE(ENABLE_SKIA_GPU_CANVAS "Enable GPU-backed Skia canvases" DEFAULT OFF) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT OFF) ELSE () - WEBKIT_FEATURE(ENABLE_JIT "Enable JIT" DEFAULT ON) - WEBKIT_FEATURE(ENABLE_SKIA_GPU_CANVAS "Enable GPU-backed Skia canvases" DEFAULT ON) + WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT ON) ENDIF () +WEBKIT_OPTION_END() + # Some of our files, such as platform/graphics/chromium/ComplexTextControllerLinux.cpp, require a # newer ICU version than the version associated with the headers in {WebCore, JavaScriptCore}/icu. # Because of we can't directly reference these newer diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake index 9d3ac6b..eeb7eba 100644 --- a/Source/cmake/OptionsEfl.cmake +++ b/Source/cmake/OptionsEfl.cmake @@ -64,48 +64,20 @@ SET(THEME_BINARY_DIR ${CMAKE_BINARY_DIR}/WebKit/efl/DefaultTheme) SET(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_MODULE_PATH}/eflsymbols.filter") -WEBKIT_FEATURE(ENABLE_BATTERY_STATUS "Enable battery status api" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_BLOB "Enable blob slice" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_CHANNEL_MESSAGING "Enable channel messaging" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_DATALIST "Enable datalist" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_DATA_TRANSFER_ITEMS "Enable data transfer items" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_DETAILS "Enable HTML5 Details and Summary elements" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_DEVICE_ORIENTATION "Enable device orientation" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_FAST_MALLOC "Enable TCmalloc instead of system's allocator" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FAST_MOBILE_SCROLLING "Enable fast mobile scrolling" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FILTERS "Enable SVG filters" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FTPDIR "Enable FTP directory support" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FULLSCREEN_API "Enable Fullscreen API support" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_GEOLOCATION "Enable geolocation" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_ICONDATABASE "Enable icon database" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_INSPECTOR "Enable inspector" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_JAVASCRIPT_DEBUGGER "Enable JavaScript debugger" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_JIT "Enable JIT code" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_LEGACY_NOTIFICATIONS "Enable legacy notifications" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_MATHML "Enable MathML" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_METER_TAG "Enable Meter tag" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_MICRODATA "Enable HTML5 microdata support" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_MUTATION_OBSERVERS "Enable HTML5 mutation observers support" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_NETSCAPE_PLUGIN_API "Enable Netscape plugin API" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_NETWORK_INFO "Enable Network Information API" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_NOTIFICATIONS "Enable notifications" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_ORIENTATION_EVENTS "Enable orientation events" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_PAGE_VISIBILITY_API "Enable Page Visibility API" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_PROGRESS_TAG "Enable progress tag" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_REQUEST_ANIMATION_FRAME "Enable requestAnimationFrame API" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SHADOW_DOM "Enable Shadow DOM" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_SHARED_WORKERS "Enable shared workers" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SQL_DATABASE "Enable SQL database" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SVG "Enable SVG" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SVG_FONTS "Enable SVG fonts" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_TOUCH_EVENTS "Enable Touch Events" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_TOUCH_ICON_LOADING "Enable Touch Icon Loading" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_VIBRATION "Enable vibration" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_VIDEO "Enable video" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_WEB_SOCKETS "Enable web sockets" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_WEBGL "Enable WebGL" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_WORKERS "Enable workers" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_XSLT "Enable XSLT" DEFAULT ON) +WEBKIT_OPTION_BEGIN() +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FAST_MOBILE_SCROLLING ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GLIB_SUPPORT ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API OFF) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_INFO ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PAGE_VISIBILITY_API ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON) +WEBKIT_OPTION_END() OPTION(ENABLE_ECORE_X "Enable Ecore_X specific usage (cursor, bell)" ON) IF (ENABLE_ECORE_X) diff --git a/Source/cmake/OptionsWinCE.cmake b/Source/cmake/OptionsWinCE.cmake index 5f04f5f..75cb283 100644 --- a/Source/cmake/OptionsWinCE.cmake +++ b/Source/cmake/OptionsWinCE.cmake @@ -5,7 +5,6 @@ ADD_DEFINITIONS(-DWTF_USE_WININET=1) ADD_DEFINITIONS(-DWTF_CPU_ARM_TRADITIONAL -DWINCEBASIC) ADD_DEFINITIONS(-DJS_NO_EXPORT) ADD_DEFINITIONS(-DHAVE_ACCESSIBILITY=0) -ADD_DEFINITIONS(-DUSE_SYSTEM_MALLOC=1) ADD_DEFINITIONS(-DJSCCOLLECTOR_VIRTUALMEM_RESERVATION=0x200000) IF (NOT 3RDPARTY_DIR) @@ -19,33 +18,8 @@ ENDIF () INCLUDE_DIRECTORIES(${3RDPARTY_DIR}/ce-compat) ADD_SUBDIRECTORY(${3RDPARTY_DIR} "${CMAKE_CURRENT_BINARY_DIR}/3rdparty") -WEBKIT_FEATURE(ENABLE_BLOB "Enable blob slice" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_CHANNEL_MESSAGING "Enable channel messaging" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_DATALIST "Enable datalist" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_DATA_TRANSFER_ITEMS "Enable data transfer items" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_FAST_MOBILE_SCROLLING "Enable fast mobile scrolling" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_FILTERS "Enable SVG filters" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_FTPDIR "Enable FTP directory support" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_GEOLOCATION "Enable geolocation" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_GLIB_SUPPORT "Enable Glib support" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_ICONDATABASE "Enable icon database" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_INSPECTOR "Enable inspector" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_JAVASCRIPT_DEBUGGER "Enable JavaScript debugger" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_JIT "Enable JIT code" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_LEGACY_NOTIFICATIONS "Enable legacy notifications" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_MATHML "Enable MathML" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_MICRODATA "Enable HTML5 microdata support" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_NETSCAPE_PLUGIN_API "Enable Netscape plugin API" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_NOTIFICATIONS "Enable notifications" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_ORIENTATION_EVENTS "Enable orientation events" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_PROGRESS_TAG "Enable progress tag" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_SHARED_WORKERS "Enable shared workers" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_SHADOW_DOM "Enable Shadow DOM" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_SQL_DATABASE "Enable SQL database" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_SVG "Enable SVG" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_SVG_FONTS "Enable SVG fonts" DEFAULT ON) -WEBKIT_FEATURE(ENABLE_TOUCH_EVENTS "Enable Touch Events" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_VIDEO "Enable video" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_WEB_SOCKETS "Enable web sockets" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_WORKERS "Enable workers" DEFAULT OFF) -WEBKIT_FEATURE(ENABLE_XSLT "Enable XSLT" DEFAULT OFF) +WEBKIT_OPTION_BEGIN() +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTPDIR OFF) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INSPECTOR OFF) +WEBKIT_OPTION_DEFAULT_PORT_VALUE(USE_SYSTEM_MALLOC ON) +WEBKIT_OPTION_END() diff --git a/Source/cmake/WebKitFeatures.cmake b/Source/cmake/WebKitFeatures.cmake index bca17d2..aec3dcc 100644 --- a/Source/cmake/WebKitFeatures.cmake +++ b/Source/cmake/WebKitFeatures.cmake @@ -1,81 +1,141 @@ -SET(DEFAULT 0) -SET(DEPENDS 1) -SET(ALWAYS 2) +SET(_WEBKIT_AVAILABLE_OPTIONS "") -SET(WEBKIT_FEATURES "") +MACRO (WEBKIT_OPTION_DEFINE _name _description _initialvalue) + SET(_WEBKIT_AVAILABLE_OPTIONS_INITALVALUE_${_name} ${_initialvalue}) + SET(_WEBKIT_AVAILABLE_OPTIONS_DESCRIPTION_${_name} ${_description}) + LIST(APPEND _WEBKIT_AVAILABLE_OPTIONS ${_name}) +ENDMACRO () +MACRO (WEBKIT_OPTION_DEFAULT_PORT_VALUE _name _value) + SET(_WEBKIT_AVAILABLE_OPTIONS_INITALVALUE_${_name} ${_value}) +ENDMACRO () -MACRO(WEBKIT_FEATURE_CHECK_DEPS _deps _deps_ok) - SET(${_deps_ok} TRUE) +MACRO (WEBKIT_OPTION_BEGIN) + WEBKIT_OPTION_DEFINE(ENABLE_3D_RENDERING "Toggle 3D rendering support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_ACCELERATED_2D_CANVAS "Toggle accelerated 2D canvas support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_ANIMATION_API "Toggle animation API support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_ASSEMBLER_WX_EXCLUSIVE "Toggel Assembler WX Exclusive support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_BATTERY_STATUS "Toggle battery status API support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_BLOB "Toggle Blob support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_CHANNEL_MESSAGING "Toggle MessageChannel and MessagePort support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_CSS_FILTERS "Toggle CSS Filters support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_CSS_GRID_LAYOUT "Toggle CSS Grid Layout support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_CSS_SHADERS "Toggle CSS Shaders (within CSS Filters) support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_DATALIST "Toggle HTML5 datalist support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_DATA_TRANSFER_ITEMS "Toggle HTML5 data transfer items support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_DETAILS "Toggle HTML5 details support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_DEVICE_ORIENTATION "Toggle DeviceOrientation support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_DIRECTORY_UPLOAD "Toogle Directory upload support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_DOWNLOAD_ATTRIBUTE "Toggle download attribute support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_DRAG_SUPPORT "Toggle Drag Support" DEFAULT OFF) + WEBKIT_OPTION_DEFINE(ENABLE_FAST_MOBILE_SCROLLING "Toogle Fast Mobile Scrolling support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_FILE_SYSTEM "Toggle FileSystem support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_FILTERS "Toggle SVG Filters support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_FTPDIR "Toggle FTP directory support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_FULLSCREEN_API "Toggle Fullscreen API support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_GAMEPAD "Toggle Gamepad support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_GEOLOCATION "Toggle Geolocation support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_GLIB_SUPPORT "Toggle Glib support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_HIGH_DPI_CANVAS "Toggle high-DPI canvas backing store support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_ICONDATABASE "Toggle Icon database support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_IMAGE_DECODER_DOWN_SAMPLING "Toggle image decoder down sampling support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INDEXED_DATABASE "Toggle Indexed Database API support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INPUT_COLOR "Toggle Color Input support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INPUT_SPEECH "Toggle Speech Input API support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_DATE "Toggle date type support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_DATETIME "Toggle datetime type support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_DATETIMELOCAL "Toggle datetime-local type support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_MONTH "Toggle month type support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_TIME "Toggle time type support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_WEEK "Toggle week type support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_INSPECTOR "Toggle Web Inspector support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_JAVASCRIPT_DEBUGGER "Toggle JavaScript Debugger/Profiler support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_JIT "Enable JustInTime javascript support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_NOTIFICATIONS "Toggle Legacy Desktop Notifications Support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_LINK_PREFETCH "Toggle pre fetching support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_MATHML "Toggle MathML support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_SOURCE "Toggle Media Source support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_STATISTICS "Toggle Media Statistics support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_STREAM "Toggle Media Stream API support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_METER_TAG "Toggle Meter Tag support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_MHTML "Toggle MHTML support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_MICRODATA "Toggle Microdata support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_MUTATION_OBSERVERS "Toggle DOM mutation observer support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_NETSCAPE_PLUGIN_API "Toggle Netscape Plugin support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_NETWORK_INFO "Toggle Network Information API support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_NOTIFICATIONS "Toggle Desktop Notifications Support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_ORIENTATION_EVENTS "Toggle Orientation Events support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_PAGE_VISIBILITY_API "Toggle Page Visibility API support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_PROGRESS_TAG "Toggle Progress Tag support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_PLUGIN_PROXY_FOR_VIDEO "Toggle Plugin Proxy for Video support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_QUOTA "Toggle Quota support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_REGISTER_PROTOCOL_HANDLER "Toggle Register Protocol Handler support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_REPAINT_THROTTLING "Toggle repaint throttling support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_REQUEST_ANIMATION_FRAME "Toggle requestAnimationFrame support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_SCRIPTED_SPEECH "Toggle Scripted Speech API support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_SHADOW_DOM "Toggle Shadow DOM support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_SHARED_WORKERS "Toggle SharedWorkers support" OFF) + WEBKIT_OPTION_DEFINE(ENABLE_SQL_DATABASE "Toggle SQL Database Support" ON) + WEBKIT_OPTION_DEFINE(ENABLE_STYLE_SCOPED "Toggle