summaryrefslogtreecommitdiffstats
path: root/Source/cmake
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-05-06 11:45:16 +0100
committerSteve Block <steveblock@google.com>2011-05-12 13:44:10 +0100
commitcad810f21b803229eb11403f9209855525a25d57 (patch)
tree29a6fd0279be608e0fe9ffe9841f722f0f4e4269 /Source/cmake
parent121b0cf4517156d0ac5111caf9830c51b69bae8f (diff)
downloadexternal_webkit-cad810f21b803229eb11403f9209855525a25d57.zip
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.gz
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.bz2
Merge WebKit at r75315: Initial merge by git.
Change-Id: I570314b346ce101c935ed22a626b48c2af266b84
Diffstat (limited to 'Source/cmake')
-rw-r--r--Source/cmake/FindCFLite.cmake22
-rw-r--r--Source/cmake/FindCairo.cmake33
-rw-r--r--Source/cmake/FindEFL.cmake16
-rw-r--r--Source/cmake/FindFontconfig.cmake69
-rw-r--r--Source/cmake/FindFreetype.cmake31
-rw-r--r--Source/cmake/FindGDK-PixBuf.cmake32
-rw-r--r--Source/cmake/FindGDK.cmake43
-rw-r--r--Source/cmake/FindGIO.cmake27
-rw-r--r--Source/cmake/FindGStreamer-App.cmake34
-rw-r--r--Source/cmake/FindGStreamer-Base.cmake33
-rw-r--r--Source/cmake/FindGStreamer-Interfaces.cmake33
-rw-r--r--Source/cmake/FindGStreamer-Pbutils.cmake33
-rw-r--r--Source/cmake/FindGStreamer-Plugins-Base.cmake33
-rw-r--r--Source/cmake/FindGStreamer-Video.cmake34
-rw-r--r--Source/cmake/FindGStreamer.cmake31
-rw-r--r--Source/cmake/FindGlib.cmake43
-rw-r--r--Source/cmake/FindGperf.cmake19
-rw-r--r--Source/cmake/FindGthread.cmake4
-rw-r--r--Source/cmake/FindICU.cmake77
-rw-r--r--Source/cmake/FindLibSoup2.cmake191
-rw-r--r--Source/cmake/FindLibXlst.cmake68
-rw-r--r--Source/cmake/FindPango.cmake34
-rw-r--r--Source/cmake/FindSqlite.cmake50
-rw-r--r--Source/cmake/LibFindMacros.cmake99
-rw-r--r--Source/cmake/OptionsCommon.cmake20
-rw-r--r--Source/cmake/OptionsEfl.cmake170
-rw-r--r--Source/cmake/OptionsWinCE.cmake59
-rw-r--r--Source/cmake/OptionsWindows.cmake14
-rw-r--r--Source/cmake/WebKitEfl.cmake6
-rw-r--r--Source/cmake/WebKitFS.cmake6
-rw-r--r--Source/cmake/WebKitFeatures.cmake91
-rw-r--r--Source/cmake/WebKitHelpers.cmake79
-rw-r--r--Source/cmake/WebKitMacros.cmake130
-rw-r--r--Source/cmake/WebKitPackaging.cmake181
-rw-r--r--Source/cmake/eflsymbols.filter6
35 files changed, 1851 insertions, 0 deletions
diff --git a/Source/cmake/FindCFLite.cmake b/Source/cmake/FindCFLite.cmake
new file mode 100644
index 0000000..ea2c2f3
--- /dev/null
+++ b/Source/cmake/FindCFLite.cmake
@@ -0,0 +1,22 @@
+# - Try to find the CFLite library
+# Once done this will define
+#
+# CFLITE_FOUND - System has CFLite
+# CFLITE_INCLUDE_DIR - The CFLite include directory
+# CFLITE_LIBRARIES - The libraries needed to use CFLite
+
+# use pkg-config to get the directories and then use these values
+# in the FIND_PATH() and FIND_LIBRARY() calls
+FIND_PACKAGE(PkgConfig)
+
+FIND_PATH(CFLITE_INCLUDE_DIR NAMES CoreFoundation/CoreFoundation.h)
+
+FIND_LIBRARY(CFLITE_LIBRARIES NAMES CFLite.lib)
+
+INCLUDE(FindPackageHandleStandardArgs)
+
+# handle the QUIETLY and REQUIRED arguments and set COREFOUNDATION_FOUND to TRUE if
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(CFLite DEFAULT_MSG CFLITE_LIBRARIES CFLITE_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(CFLITE_INCLUDE_DIR CFLITE_LIBRARIES)
diff --git a/Source/cmake/FindCairo.cmake b/Source/cmake/FindCairo.cmake
new file mode 100644
index 0000000..db8981e
--- /dev/null
+++ b/Source/cmake/FindCairo.cmake
@@ -0,0 +1,33 @@
+# - Try to find Cairo
+# Once done, this will define
+#
+# Cairo_FOUND - system has Cairo
+# Cairo_INCLUDE_DIRS - the Cairo include directories
+# Cairo_LIBRARIES - link these to use Cairo
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Cairo Freetype)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Cairo_PKGCONF cairo)
+
+# Include dir
+find_path(Cairo_INCLUDE_DIR
+ NAMES cairo.h
+ PATHS ${Cairo_PKGCONF_INCLUDE_DIRS}
+)
+
+# Finally the library itself
+find_library(Cairo_LIBRARY
+ NAMES cairo
+ PATHS ${Cairo_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Cairo_PROCESS_INCLUDES Cairo_INCLUDE_DIR Freetype_INCLUDE_DIRS)
+set(Cairo_PROCESS_LIBS Cairo_LIBRARY Freetype_LIBRARIES)
+libfind_process(Cairo)
+
diff --git a/Source/cmake/FindEFL.cmake b/Source/cmake/FindEFL.cmake
new file mode 100644
index 0000000..eb309b1
--- /dev/null
+++ b/Source/cmake/FindEFL.cmake
@@ -0,0 +1,16 @@
+INCLUDE(FindPkgConfig)
+
+PKG_CHECK_MODULES (EDJE REQUIRED edje>=1.0.0)
+PKG_CHECK_MODULES (ECORE REQUIRED ecore>=1.0.0)
+PKG_CHECK_MODULES (ECORE_EVAS REQUIRED ecore-evas>=1.0.0)
+PKG_CHECK_MODULES (EFLDEPS REQUIRED
+ eina>=1.0.0
+ evas>=1.0.0
+ ecore>=1.0.0
+ ecore-file>=1.0.0
+ ecore-evas>=1.0.0
+ edje>=1.0.0)
+PKG_CHECK_MODULES (EINA REQUIRED eina>=1.0.0)
+PKG_CHECK_MODULES (ECORE_X ecore-x>=1.0.0)
+PKG_CHECK_MODULES (EVAS REQUIRED evas>=1.0.0)
+
diff --git a/Source/cmake/FindFontconfig.cmake b/Source/cmake/FindFontconfig.cmake
new file mode 100644
index 0000000..e6fa81d
--- /dev/null
+++ b/Source/cmake/FindFontconfig.cmake
@@ -0,0 +1,69 @@
+# - Try to find the Fontconfig
+# Once done this will define
+#
+# FONTCONFIG_FOUND - system has Fontconfig
+# FONTCONFIG_INCLUDE_DIR - The include directory to use for the fontconfig headers
+# FONTCONFIG_LIBRARIES - Link these to use FONTCONFIG
+# FONTCONFIG_DEFINITIONS - Compiler switches required for using FONTCONFIG
+
+# Copyright (c) 2006,2007 Laurent Montel, <montel@kde.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+if (FONTCONFIG_LIBRARIES AND FONTCONFIG_INCLUDE_DIR)
+
+ # in cache already
+ set(FONTCONFIG_FOUND TRUE)
+
+else (FONTCONFIG_LIBRARIES AND FONTCONFIG_INCLUDE_DIR)
+
+ if (NOT WIN32)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ pkg_check_modules(PC_FONTCONFIG fontconfig)
+
+ set(FONTCONFIG_DEFINITIONS ${PC_FONTCONFIG_CFLAGS_OTHER})
+ endif (NOT WIN32)
+
+ find_path(FONTCONFIG_INCLUDE_DIR fontconfig/fontconfig.h
+ PATHS
+ ${PC_FONTCONFIG_INCLUDEDIR}
+ ${PC_FONTCONFIG_INCLUDE_DIRS}
+ /usr/X11/include
+ )
+
+ find_library(FONTCONFIG_LIBRARIES NAMES fontconfig
+ PATHS
+ ${PC_FONTCONFIG_LIBDIR}
+ ${PC_FONTCONFIG_LIBRARY_DIRS}
+ )
+
+ include(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Fontconfig DEFAULT_MSG FONTCONFIG_LIBRARIES FONTCONFIG_INCLUDE_DIR )
+
+ mark_as_advanced(FONTCONFIG_LIBRARIES FONTCONFIG_INCLUDE_DIR)
+
+endif (FONTCONFIG_LIBRARIES AND FONTCONFIG_INCLUDE_DIR)
diff --git a/Source/cmake/FindFreetype.cmake b/Source/cmake/FindFreetype.cmake
new file mode 100644
index 0000000..b4c1685
--- /dev/null
+++ b/Source/cmake/FindFreetype.cmake
@@ -0,0 +1,31 @@
+# - Try to find Freetype2
+# Once done, this will define
+#
+# Freetype_FOUND - system has Freetype
+# Freetype_INCLUDE_DIRS - the Freetype include directories
+# Freetype_LIBRARIES - link these to use Freetype
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Freetype_PKGCONF freetype2)
+
+# Include dir
+find_path(Freetype_INCLUDE_DIR
+ NAMES freetype/freetype.h
+ PATHS ${Freetype_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES freetype2
+)
+
+# Finally the library itself
+find_library(Freetype_LIBRARY
+ NAMES freetype
+ PATHS ${Freetype_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Freetype_PROCESS_INCLUDES Freetype_INCLUDE_DIR)
+set(Freetype_PROCESS_LIBS Freetype_LIBRARY)
+libfind_process(Freetype)
+
diff --git a/Source/cmake/FindGDK-PixBuf.cmake b/Source/cmake/FindGDK-PixBuf.cmake
new file mode 100644
index 0000000..d21d87a
--- /dev/null
+++ b/Source/cmake/FindGDK-PixBuf.cmake
@@ -0,0 +1,32 @@
+# - Try to find gdk-pixbuf 2.0
+# Once done, this will define
+#
+# GDK-PixBuf_FOUND - system has GDK-PixBuf
+# GDK-PixBuf_INCLUDE_DIRS - the GDK-PixBuf include directories
+# GDK-PixBuf_LIBRARIES - link these to use GDK-PixBuf
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GDK-PixBuf_PKGCONF gdk-pixbuf-2.0)
+
+# Main include dir
+find_path(GDK-PixBuf_INCLUDE_DIR
+ NAMES gdk-pixbuf/gdk-pixbuf.h
+ PATHS ${GDK-PixBuf_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES gtk-2.0
+)
+
+# Finally the library itself
+find_library(GDK-PixBuf_LIBRARY
+ NAMES gdk_pixbuf-2.0
+ PATHS ${GDK-PixBuf_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GDK-PixBuf_PROCESS_INCLUDES GDK-PixBuf_INCLUDE_DIR)
+set(GDK-PixBuf_PROCESS_LIBS GDK-PixBuf_LIBRARY)
+libfind_process(GDK-PixBuf)
+
+
diff --git a/Source/cmake/FindGDK.cmake b/Source/cmake/FindGDK.cmake
new file mode 100644
index 0000000..f7c469e
--- /dev/null
+++ b/Source/cmake/FindGDK.cmake
@@ -0,0 +1,43 @@
+# - Try to find GDK 2.0
+# Once done, this will define
+#
+# GDK_FOUND - system has GDK
+# GDK_INCLUDE_DIRS - the GDK include directories
+# GDK_LIBRARIES - link these to use GDK
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GDK GDK-PixBuf)
+libfind_package(GDK Pango)
+libfind_package(GDK GIO)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GDK_PKGCONF gdk-2.0)
+
+# Main include dir
+find_path(GDK_INCLUDE_DIR
+ NAMES gdk/gdk.h
+ PATHS ${GDK_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES gtk-2.0
+)
+
+# Glib-related libraries also use a separate config header, which is in lib dir
+find_path(GDKConfig_INCLUDE_DIR
+ NAMES gdkconfig.h
+ PATHS ${GDK_PKGCONF_INCLUDE_DIRS} /usr
+ PATH_SUFFIXES lib/gtk-2.0/include
+)
+
+# Finally the library itself
+find_library(GDK_LIBRARY
+ NAMES gdk-x11-2.0 gdk-win32-2.0
+ PATHS ${GDK_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GDK_PROCESS_INCLUDES GDK_INCLUDE_DIR GDKConfig_INCLUDE_DIR GDK-PixBuf_INCLUDE_DIRS Pango_INCLUDE_DIRS GIO_INCLUDE_DIRS)
+set(GDK_PROCESS_LIBS GDK_LIBRARY GDK-PixBuf_LIBRARIES Pango_LIBRARIES GIO_LIBRARIES)
+libfind_process(GDK)
+
diff --git a/Source/cmake/FindGIO.cmake b/Source/cmake/FindGIO.cmake
new file mode 100644
index 0000000..c32a3bf
--- /dev/null
+++ b/Source/cmake/FindGIO.cmake
@@ -0,0 +1,27 @@
+# - Try to find GIO 2.0
+# Once done, this will define
+#
+# GIO_FOUND - system has GIO
+# GIO_INCLUDE_DIRS - the GIO include directories
+# GIO_LIBRARIES - link these to use GIO
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GIO Glib)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GIO_PKGCONF gio-2.0)
+
+# Find the library
+find_library(GIO_LIBRARY
+ NAMES gio-2.0
+ PATHS ${GIO_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GIO_PROCESS_INCLUDES Glib_INCLUDE_DIRS)
+set(GIO_PROCESS_LIBS GIO_LIBRARY Glib_LIBRARIES)
+libfind_process(GIO)
+
diff --git a/Source/cmake/FindGStreamer-App.cmake b/Source/cmake/FindGStreamer-App.cmake
new file mode 100644
index 0000000..7193db0
--- /dev/null
+++ b/Source/cmake/FindGStreamer-App.cmake
@@ -0,0 +1,34 @@
+# - Try to find GStreamer-App
+# Once done, this will define
+#
+# GStreamer-App_FOUND - system has GStreamer
+# GStreamer-App_INCLUDE_DIRS - the GStreamer include directories
+# GStreamer-App_LIBRARIES - link these to use GStreamer
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GStreamer-App GStreamer)
+libfind_package(GStreamer-App GStreamer-Base)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GStreamer-App_PKGCONF gstreamer-app-0.10)
+
+# Include dir
+find_path(GStreamer-App_INCLUDE_DIR
+ NAMES gst/gst.h
+ PATHS ${GStreamer-App_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES gstreamer-0.10
+)
+
+# Finally the library itself
+find_library(GStreamer-App_LIBRARY
+ NAMES gstapp-0.10
+ PATHS ${GStreamer-App_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GStreamer-App_PROCESS_INCLUDES GStreamer-App_INCLUDE_DIR GStreamer_INCLUDE_DIR GStreamer-Base_INCLUDE_DIR)
+set(GStreamer-App_PROCESS_LIBS GStreamer-App_LIBRARY GStreamer_LIBRARIES GStreamer-Base_LIBRARIES)
+libfind_process(GStreamer-App)
diff --git a/Source/cmake/FindGStreamer-Base.cmake b/Source/cmake/FindGStreamer-Base.cmake
new file mode 100644
index 0000000..e73da05
--- /dev/null
+++ b/Source/cmake/FindGStreamer-Base.cmake
@@ -0,0 +1,33 @@
+# - Try to find GStreamer-Base
+# Once done, this will define
+#
+# GStreamer-Base_FOUND - system has GStreamer-Base
+# GStreamer-Base_INCLUDE_DIRS - the GStreamer-Base include directories
+# GStreamer-Base_LIBRARIES - link these to use GStreamer-Base
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GStreamer-Base GStreamer)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GStreamer-Base_PKGCONF gstreamer-base-0.10)
+
+# Include dir
+find_path(GStreamer-Base_INCLUDE_DIR
+ NAMES gst/gst.h
+ PATHS ${GStreamer-Base_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES gstreamer-0.10
+)
+
+# Finally the library itself
+find_library(GStreamer-Base_LIBRARY
+ NAMES gstbase-0.10
+ PATHS ${GStreamer-Base_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GStreamer-Base_PROCESS_INCLUDES GStreamer-Base_INCLUDE_DIR GStreamer_INCLUDE_DIR)
+set(GStreamer-Base_PROCESS_LIBS GStreamer-Base_LIBRARY GStreamer_LIBRARIES)
+libfind_process(GStreamer-Base)
diff --git a/Source/cmake/FindGStreamer-Interfaces.cmake b/Source/cmake/FindGStreamer-Interfaces.cmake
new file mode 100644
index 0000000..9483545
--- /dev/null
+++ b/Source/cmake/FindGStreamer-Interfaces.cmake
@@ -0,0 +1,33 @@
+# - Try to find GStreamer-Interfaces
+# Once done, this will define
+#
+# GStreamer-Interfaces_FOUND - system has GStreamer-Interfaces
+# GStreamer-Interfaces_INCLUDE_DIRS - the GStreamer-Interfaces include directories
+# GStreamer-Interfaces_LIBRARIES - link these to use GStreamer-Interfaces
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GStreamer-Interfaces GStreamer)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GStreamer-Interfaces_PKGCONF gstreamer-interfaces-0.10)
+
+# Include dir
+find_path(GStreamer-Interfaces_INCLUDE_DIR
+ NAMES gst/gst.h
+ PATHS ${GStreamer-Interfaces_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES gstreamer-0.10
+)
+
+# Finally the library itself
+find_library(GStreamer-Interfaces_LIBRARY
+ NAMES gstinterfaces-0.10
+ PATHS ${GStreamer-Interfaces_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GStreamer-Interfaces_PROCESS_INCLUDES GStreamer-Interfaces_INCLUDE_DIR GStreamer_INCLUDE_DIR)
+set(GStreamer-Interfaces_PROCESS_LIBS GStreamer-Interfaces_LIBRARY GStreamer_LIBRARIES)
+libfind_process(GStreamer-Interfaces)
diff --git a/Source/cmake/FindGStreamer-Pbutils.cmake b/Source/cmake/FindGStreamer-Pbutils.cmake
new file mode 100644
index 0000000..c1c3103
--- /dev/null
+++ b/Source/cmake/FindGStreamer-Pbutils.cmake
@@ -0,0 +1,33 @@
+# - Try to find GStreamer-Pbutils
+# Once done, this will define
+#
+# GStreamer-Pbutils_FOUND - system has GStreamer-Pbutils
+# GStreamer-Pbutils_INCLUDE_DIRS - the GStreamer-Pbutils include directories
+# GStreamer-Pbutils_LIBRARIES - link these to use GStreamer-Pbutils
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GStreamer-Pbutils GStreamer)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GStreamer-Pbutils_PKGCONF gstreamer-pbutils-0.10)
+
+# Include dir
+find_path(GStreamer-Pbutils_INCLUDE_DIR
+ NAMES gst/gst.h
+ PATHS ${GStreamer-Pbutils_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES gstreamer-0.10
+)
+
+# Finally the library itself
+find_library(GStreamer-Pbutils_LIBRARY
+ NAMES gstpbutils-0.10
+ PATHS ${GStreamer-Pbutils_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GStreamer-Pbutils_PROCESS_INCLUDES GStreamer-Pbutils_INCLUDE_DIR GStreamer_INCLUDE_DIR)
+set(GStreamer-Pbutils_PROCESS_LIBS GStreamer-Pbutils_LIBRARY GStreamer_LIBRARY)
+libfind_process(GStreamer-Pbutils)
diff --git a/Source/cmake/FindGStreamer-Plugins-Base.cmake b/Source/cmake/FindGStreamer-Plugins-Base.cmake
new file mode 100644
index 0000000..931a7d9
--- /dev/null
+++ b/Source/cmake/FindGStreamer-Plugins-Base.cmake
@@ -0,0 +1,33 @@
+# - Try to find GStreamer-Plugins-Base
+# Once done, this will define
+#
+# GStreamer-Plugins-Base_FOUND - system has GStreamer-Plugins-Base
+# GStreamer-Plugins-Base_INCLUDE_DIRS - the GStreamer-Plugins-Base include directories
+# GStreamer-Plugins-Base_LIBRARIES - link these to use GStreamer-Plugins-Base
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GStreamer-Plugins-Base GStreamer)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GStreamer-Plugins-Base_PKGCONF gstreamer-plugins-base-0.10)
+
+# Include dir
+find_path(GStreamer-Plugins-Base_INCLUDE_DIR
+ NAMES gst/gst.h
+ PATHS ${GStreamer-Plugins-Base_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES gstreamer-0.10
+)
+
+# Finally the library itself
+find_library(GStreamer-Plugins-Base_LIBRARY
+ NAMES gstreamer-0.10
+ PATHS ${GStreamer-Plugins-Base_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GStreamer-Plugins-Base_PROCESS_INCLUDES GStreamer-Plugins-Base_INCLUDE_DIR GStreamer_INCLUDE_DIR)
+set(GStreamer-Plugins-Base_PROCESS_LIBS GStreamer-Plugins-Base_LIBRARY GStreamer_LIBRARIES)
+libfind_process(GStreamer-Plugins-Base)
diff --git a/Source/cmake/FindGStreamer-Video.cmake b/Source/cmake/FindGStreamer-Video.cmake
new file mode 100644
index 0000000..1617947
--- /dev/null
+++ b/Source/cmake/FindGStreamer-Video.cmake
@@ -0,0 +1,34 @@
+# - Try to find GStreamer-Video
+# Once done, this will define
+#
+# GStreamer-Video_FOUND - system has GStreamer-Video
+# GStreamer-Video_INCLUDE_DIRS - the GStreamer-Video include directories
+# GStreamer-Video_LIBRARIES - link these to use GStreamer-Video
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(GStreamer-Video GStreamer)
+libfind_package(GStreamer-Video GStreamer-Base)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GStreamer-Video_PKGCONF gstreamer-video-0.10)
+
+# Include dir
+find_path(GStreamer-Video_INCLUDE_DIR
+ NAMES gst/gst.h
+ PATHS ${GStreamer-Video_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES gstreamer-0.10
+)
+
+# Finally the library itself
+find_library(GStreamer-Video_LIBRARY
+ NAMES gstvideo-0.10
+ PATHS ${GStreamer-Video_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GStreamer-Video_PROCESS_INCLUDES GStreamer-Video_INCLUDE_DIR GStreamer_INCLUDE_DIR GStreamer-Base_INCLUDE_DIR)
+set(GStreamer-Video_PROCESS_LIBS GStreamer-Video_LIBRARY GStreamer_LIBRARIES GStreamer-Base_LIBRARIES)
+libfind_process(GStreamer-Video)
diff --git a/Source/cmake/FindGStreamer.cmake b/Source/cmake/FindGStreamer.cmake
new file mode 100644
index 0000000..7fe8364
--- /dev/null
+++ b/Source/cmake/FindGStreamer.cmake
@@ -0,0 +1,31 @@
+# - Try to find GStreamer
+# Once done, this will define
+#
+# GStreamer_FOUND - system has GStreamer
+# GStreamer_INCLUDE_DIRS - the GStreamer include directories
+# GStreamer_LIBRARIES - link these to use GStreamer
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(GStreamer_PKGCONF gstreamer-0.10)
+
+# Include dir
+find_path(GStreamer_INCLUDE_DIR
+ NAMES gst/gst.h
+ PATHS ${GStreamer_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES gstreamer-0.10
+)
+
+# Finally the library itself
+find_library(GStreamer_LIBRARY
+ NAMES gstreamer-0.10
+ PATHS ${GStreamer_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(GStreamer_PROCESS_INCLUDES GStreamer_INCLUDE_DIR)
+set(GStreamer_PROCESS_LIBS GStreamer_LIBRARY)
+libfind_process(GStreamer)
+
diff --git a/Source/cmake/FindGlib.cmake b/Source/cmake/FindGlib.cmake
new file mode 100644
index 0000000..d4b73af
--- /dev/null
+++ b/Source/cmake/FindGlib.cmake
@@ -0,0 +1,43 @@
+# - Try to find Glib-2.0 (with gobject)
+# Once done, this will define
+#
+# Glib_FOUND - system has Glib
+# Glib_INCLUDE_DIRS - the Glib include directories
+# Glib_LIBRARIES - link these to use Glib
+
+include(LibFindMacros)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Glib_PKGCONF glib-2.0)
+
+# Main include dir
+find_path(Glib_INCLUDE_DIR
+ NAMES glib.h
+ PATHS ${Glib_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES glib-2.0
+)
+
+# Glib-related libraries also use a separate config header, which is in lib dir
+find_path(GlibConfig_INCLUDE_DIR
+ NAMES glibconfig.h
+ PATHS ${Glib_PKGCONF_INCLUDE_DIRS} /usr
+ PATH_SUFFIXES lib/glib-2.0/include
+)
+
+# Finally the library itself
+find_library(Glib_LIBRARY
+ NAMES glib-2.0
+ PATHS ${Glib_PKGCONF_LIBRARY_DIRS}
+)
+find_library(Gobject_LIBRARY
+ NAMES gobject-2.0
+ PATHS ${Glib_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Glib_PROCESS_INCLUDES Glib_INCLUDE_DIR GlibConfig_INCLUDE_DIR)
+set(Glib_PROCESS_LIBS Glib_LIBRARY Gobject_LIBRARY)
+libfind_process(Glib)
+
+
diff --git a/Source/cmake/FindGperf.cmake b/Source/cmake/FindGperf.cmake
new file mode 100644
index 0000000..0e53912
--- /dev/null
+++ b/Source/cmake/FindGperf.cmake
@@ -0,0 +1,19 @@
+# - Find gperf
+# This module looks for gperf. This module defines the
+# following values:
+# GPERF_EXECUTABLE: the full path to the gperf tool.
+# GPERF_FOUND: True if gperf has been found.
+
+INCLUDE(FindCygwin)
+
+FIND_PROGRAM(GPERF_EXECUTABLE
+ gperf
+ ${CYGWIN_INSTALL_PATH}/bin
+)
+
+# handle the QUIETLY and REQUIRED arguments and set GPERF_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Gperf DEFAULT_MSG GPERF_EXECUTABLE)
+
+MARK_AS_ADVANCED(GPERF_EXECUTABLE)
diff --git a/Source/cmake/FindGthread.cmake b/Source/cmake/FindGthread.cmake
new file mode 100644
index 0000000..281e657
--- /dev/null
+++ b/Source/cmake/FindGthread.cmake
@@ -0,0 +1,4 @@
+# Find include and libraries for Gthread library
+
+INCLUDE(FindPkgConfig)
+PKG_CHECK_MODULES (Gthread REQUIRED gthread-2.0>=2.20.0)
diff --git a/Source/cmake/FindICU.cmake b/Source/cmake/FindICU.cmake
new file mode 100644
index 0000000..225c731
--- /dev/null
+++ b/Source/cmake/FindICU.cmake
@@ -0,0 +1,77 @@
+# Finds the International Components for Unicode (ICU) Library
+#
+# ICU_FOUND - True if ICU found.
+# ICU_I18N_FOUND - True if ICU's internationalization library found.
+# ICU_INCLUDE_DIRS - Directory to include to get ICU headers
+# Note: always include ICU headers as, e.g.,
+# unicode/utypes.h
+# ICU_LIBRARIES - Libraries to link against for the common ICU
+# ICU_I18N_LIBRARIES - Libraries to link against for ICU internationaliation
+# (note: in addition to ICU_LIBRARIES)
+
+# Look for the header file.
+FIND_PATH(
+ ICU_INCLUDE_DIR
+ NAMES unicode/utypes.h
+ DOC "Include directory for the ICU library")
+MARK_AS_ADVANCED(ICU_INCLUDE_DIR)
+
+# Look for the library.
+FIND_LIBRARY(
+ ICU_LIBRARY
+ NAMES icuuc cygicuuc cygicuuc32
+ DOC "Libraries to link against for the common parts of ICU")
+MARK_AS_ADVANCED(ICU_LIBRARY)
+
+# Copy the results to the output variables.
+IF (ICU_INCLUDE_DIR AND ICU_LIBRARY)
+ SET(ICU_FOUND 1)
+ SET(ICU_LIBRARIES ${ICU_LIBRARY})
+ SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
+
+ SET(ICU_VERSION 0)
+ SET(ICU_MAJOR_VERSION 0)
+ SET(ICU_MINOR_VERSION 0)
+ FILE(READ "${ICU_INCLUDE_DIR}/unicode/uversion.h" _ICU_VERSION_CONENTS)
+ STRING(REGEX REPLACE ".*#define U_ICU_VERSION_MAJOR_NUM ([0-9]+).*" "\\1" ICU_MAJOR_VERSION "${_ICU_VERSION_CONENTS}")
+ STRING(REGEX REPLACE ".*#define U_ICU_VERSION_MINOR_NUM ([0-9]+).*" "\\1" ICU_MINOR_VERSION "${_ICU_VERSION_CONENTS}")
+
+ SET(ICU_VERSION "${ICU_MAJOR_VERSION}.${ICU_MINOR_VERSION}")
+
+ # Look for the ICU internationalization libraries
+ FIND_LIBRARY(
+ ICU_I18N_LIBRARY
+ NAMES icuin icui18n cygicuin cygicuin32
+ DOC "Libraries to link against for ICU internationalization")
+ MARK_AS_ADVANCED(ICU_I18N_LIBRARY)
+ IF (ICU_I18N_LIBRARY)
+ SET(ICU_I18N_FOUND 1)
+ SET(ICU_I18N_LIBRARIES ${ICU_I18N_LIBRARY})
+ ELSE ()
+ SET(ICU_I18N_FOUND 0)
+ SET(ICU_I18N_LIBRARIES)
+ ENDIF ()
+ELSE ()
+ SET(ICU_FOUND 0)
+ SET(ICU_I18N_FOUND 0)
+ SET(ICU_LIBRARIES)
+ SET(ICU_I18N_LIBRARIES)
+ SET(ICU_INCLUDE_DIRS)
+ SET(ICU_VERSION)
+ SET(ICU_MAJOR_VERSION)
+ SET(ICU_MINOR_VERSION)
+ENDIF ()
+
+IF (ICU_FOUND)
+ IF (NOT ICU_FIND_QUIETLY)
+ MESSAGE(STATUS "Found ICU header files in ${ICU_INCLUDE_DIRS}")
+ MESSAGE(STATUS "Found ICU libraries: ${ICU_LIBRARIES}")
+ ENDIF ()
+ELSE ()
+ IF (ICU_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find ICU")
+ ELSE ()
+ MESSAGE(STATUS "Optional package ICU was not found")
+ ENDIF ()
+ENDIF ()
+
diff --git a/Source/cmake/FindLibSoup2.cmake b/Source/cmake/FindLibSoup2.cmake
new file mode 100644
index 0000000..e023a63
--- /dev/null
+++ b/Source/cmake/FindLibSoup2.cmake
@@ -0,0 +1,191 @@
+# - Try to find libsoup
+# Find libsoup headers, libraries and the answer to all questions.
+#
+# LIBSOUP2_FOUND True if libsoup2 got found
+# LIBSOUP2_INCLUDE_DIRS Location of libsoup2 headers
+# LIBSOUP2_LIBRARIES List of libaries to use libsoup2
+# LIBSOUP2_LIBRARY_DIRS Location of libsoup2 library
+#
+# LIBSOUP22_FOUND True if libsoup2.2 got found
+# LIBSOUP22_INCLUDE_DIRS Location of libsoup2.2 headers
+# LIBSOUP22_LIBRARIES List of libaries to use libsoup2.2
+# LIBSOUP22_LIBRARY_DIRS Location of libsoup2.2 library
+#
+# LIBSOUP24_FOUND True if libsoup2.4 got found
+# LIBSOUP24_INCLUDE_DIRS Location of libsoup2.4 headers
+# LIBSOUP24_LIBRARIES List of libaries to use libsoup2.4
+# LIBSOUP24_LIBRARY_DIRS Location of libsoup2.4 library
+#
+# Set LIBSOUP2_MIN_VERSION to find libsoup2.2 or libsoup2.4 if only
+# one of both libraries is supported
+#
+# Don't use LIBSOUP2_MIN_VERSION if you want to support
+# libsoup2.2 and libsoup2.4.
+# Instead use LIBSPOUP22_MIN_VERSION and LIBSPOUP24_MIN_VERSION.
+#
+# Set LIBSPOUP22_MIN_VERSION to find libsoup2.2 which version is
+# greater than LIBSPOUP22_MIN_VERSION
+#
+# Set LIBSPOUP24_MIN_VERSION to find libsoup2.4 which version is
+# greater than LIBSPOUP24_MIN_VERSION
+#
+# WARNING: It is not possible to set LIBSPOUP22_MIN_VERSION
+# and support any version of libsoup2.4 at the same time.
+# In this situation you have to set LIBSPOUP24_MIN_VERSION also.
+# The same applies to LIBSPOUP24_MIN_VERSION and libsoup2.2.
+#
+# Copyright (c) 2007 Daniel Gollub <gollub@b1-systems.de>
+# Copyright (c) 2008 Bjoern Ricks <bjoern.ricks@gmail.com>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+INCLUDE( FindPkgConfig )
+
+IF ( LibSoup2_FIND_VERSION AND NOT LIBSOUP2_MIN_VERSION AND NOT LIBSOUP24_MIN_VERSION )
+ SET( LIBSOUP2_MIN_VERSION "${LibSoup2_FIND_VERSION}" )
+ SET( LIBSOUP24_MIN_VERSION "${LibSoup2_FIND_VERSION}" )
+ENDIF ( LibSoup2_FIND_VERSION AND NOT LIBSOUP2_MIN_VERSION AND NOT LIBSOUP24_MIN_VERSION )
+
+IF ( LibSoup2_FIND_REQUIRED )
+ SET( _pkgconfig_REQUIRED "REQUIRED" )
+ELSE( LibSoup2_FIND_REQUIRED )
+ SET( _pkgconfig_REQUIRED "" )
+ENDIF ( LibSoup2_FIND_REQUIRED )
+
+IF ( LIBSOUP2_MIN_VERSION )
+ STRING(REGEX REPLACE "^(2)(\\.)([0-9]*)(\\.?)(.*)" "\\3" LIBSOUP2_VERSION_MINOR "${LIBSOUP2_MIN_VERSION}")
+ IF ( LIBSOUP2_VERSION_MINOR EQUAL "2" )
+ SET( LIBSOUP22_MIN_VERSION "${LIBSOUP2_MIN_VERSION}" )
+ ELSE ( LIBSOUP2_VERSION_MINOR EQUAL "2" )
+ SET( LIBSOUP24_MIN_VERSION "${LIBSOUP2_MIN_VERSION}" )
+ ENDIF ( LIBSOUP2_VERSION_MINOR EQUAL "2" )
+ENDIF ( LIBSOUP2_MIN_VERSION )
+
+# try to find libsoup2.2>=LIBSOUP22_MIN_VERSION
+IF ( LIBSOUP22_MIN_VERSION )
+ PKG_SEARCH_MODULE( LIBSOUP22 libsoup-2.2>=${LIBSOUP22_MIN_VERSION} libsoup2>=${LIBSOUP22_MIN_VERSION} )
+ENDIF ( LIBSOUP22_MIN_VERSION )
+
+# try to find libsoup2.4>=LIBSOUP24_MIN_VERSION
+IF ( LIBSOUP24_MIN_VERSION )
+ PKG_SEARCH_MODULE( LIBSOUP24 libsoup-2.4>=${LIBSOUP24_MIN_VERSION} libsoup2>=${LIBSOUP24_MIN_VERSION} )
+ENDIF ( LIBSOUP24_MIN_VERSION )
+
+# try to find any version of libsoup2.4 if LIBSOUP22_MIN_VERSION is not set
+IF ( NOT LIBSOUP24_FOUND AND NOT LIBSOUP22_MIN_VERSION AND NOT LIBSOUP24_MIN_VERSION )
+ PKG_SEARCH_MODULE( LIBSOUP24 libsoup-2.4 libsoup2 )
+ENDIF ( NOT LIBSOUP24_FOUND AND NOT LIBSOUP22_MIN_VERSION AND NOT LIBSOUP24_MIN_VERSION )
+
+# try to find any version of libsoup2.2 if LIBSOUP24_MIN_VERSION is not set
+IF ( NOT LIBSOUP22_FOUND AND NOT LIBSOUP24_MIN_VERSION AND NOT LIBSOUP24_MIN_VERSION )
+ PKG_SEARCH_MODULE( LIBSOUP22 libsoup-2.2 libsoup2 )
+ENDIF ( NOT LIBSOUP22_FOUND AND NOT LIBSOUP24_MIN_VERSION AND NOT LIBSOUP24_MIN_VERSION )
+
+# set LIBSOUP2_ variables
+IF ( LIBSOUP24_FOUND )
+ # prefer libsoup2.4 to libsoup2.2 if both are found
+ SET( LIBSOUP2_FOUND ${LIBSOUP24_FOUND} CACHE INTERNAL "" )
+ SET( LIBSOUP2_INCLUDE_DIRS ${LIBSOUP24_INCLUDE_DIRS} CACHE INTERNAL "" )
+ SET( LIBSOUP2_LIBRARIES ${LIBSOUP24_LIBRARIES} CACHE INTERNAL "" )
+ SET( LIBSOUP2_LIBRARY_DIRS ${LIBSOUP24_LIBRARY_DIRS} CACHE INTERNAL "" )
+ SET( LIBSOUP2_VERSION ${LIBSOUP24_VERSION} CACHE INTERNAL "" )
+ELSEIF ( LIBSOUP22_FOUND )
+ SET( LIBSOUP2_FOUND ${LIBSOUP22_FOUND} CACHE INTERNAL "" )
+ SET( LIBSOUP2_INCLUDE_DIRS ${LIBSOUP22_INCLUDE_DIRS} CACHE INTERNAL "" )
+ SET( LIBSOUP2_LIBRARIES ${LIBSOUP22_LIBRARIES} CACHE INTERNAL "" )
+ SET( LIBSOUP2_LIBRARY_DIRS ${LIBSOUP22_LIBRARY_DIRS} CACHE INTERNAL "" )
+ SET( LIBSOUP2_VERSION ${LIBSOUP22_VERSION} CACHE INTERNAL "" )
+ELSEIF( PKG_CONFIG_FOUND AND LibSoup2_FIND_REQUIRED )
+ # raise an error if both libs are not found
+ # and FIND_PACKAGE( LibSoup2 REQUIRED ) was called
+ MESSAGE( FATAL_ERROR "package libsoup2 not found" )
+ENDIF ( LIBSOUP24_FOUND )
+
+IF( NOT LIBSOUP2_FOUND AND NOT PKG_CONFIG_FOUND )
+ # WARNING:
+ # This case is executed if pkg-config isn't installed.
+ # Currently in this case it is only checked if libsoup2.2 is available.
+ # Therefore please don't use this cmake module without pkg-config!
+ FIND_PATH( _libsoup2_include_DIR libsoup/soup.h PATH_SUFFIXES libsoup libsoup-2.2 )
+ FIND_LIBRARY( _libsoup2_LIBRARY soup-2.2)
+
+ IF ( _libsoup2_include_DIR AND _libsoup2_LIBRARY )
+ SET ( _libsoup2_FOUND TRUE )
+ ENDIF ( _libsoup2_include_DIR AND _libsoup2_LIBRARY )
+
+ IF ( _libsoup2_FOUND )
+ SET ( LIBSOUP2_INCLUDE_DIRS ${_libsoup2_include_DIR} )
+ SET ( LIBSOUP2_LIBRARIES ${_libsoup2_LIBRARY} )
+
+ # find requited glib2
+ IF( NOT GLIB2_FOUND )
+ FIND_PACKAGE( GLIB2 REQUIRED )
+ IF ( GLIB2_FOUND )
+ SET ( LIBSOUP2_INCLUDE_DIRS ${LIBSOUP2_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS} )
+ SET ( LIBSOUP2_LIBRARIES ${LIBSOUP2_LIBRARIES} ${GLIB2_LIBRARIES} )
+ ENDIF ( GLIB2_FOUND )
+ ENDIF( NOT GLIB2_FOUND )
+
+ # find required libxml2
+ IF( NOT LIBXML2_FOUND )
+ FIND_PACKAGE( LibXml2 REQUIRED )
+ IF ( LIBXML2_FOUND )
+ SET ( LIBSOUP2_INCLUDE_DIRS ${LIBSOUP2_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIRS} )
+ SET ( LIBSOUP2_LIBRARIES ${LIBSOUP2_LIBRARIES} ${LIBXML2_LIBRARIES} )
+ ENDIF( LIBXML2_FOUND )
+ ENDIF( NOT LIBXML2_FOUND )
+
+ # find required gnutls
+ IF( NOT GNUTLS_FOUND )
+ FIND_PACKAGE( GNUTLS REQUIRED )
+ IF ( GNUTLS_FOUND )
+ SET ( LIBSOUP2_INCLUDE_DIRS ${LIBSOUP2_INCLUDE_DIRS} ${GNUTLS_INCLUDE_DIRS} )
+ SET ( LIBSOUP2_LIBRARIES ${LIBSOUP2_LIBRARIES} ${GNUTLS_LIBRARIES} )
+ ENDIF( GNUTLS_FOUND )
+ ENDIF( NOT GNUTLS_FOUND )
+ ENDIF ( _libsoup2_FOUND )
+
+ MARK_AS_ADVANCED( _libsoup2_include_DIR _libsoup2_LIBRARY )
+
+ # Report results
+ IF ( LIBSOUP2_LIBRARIES AND LIBSOUP2_INCLUDE_DIRS AND _libsoup2_FOUND )
+ SET( LIBSOUP2_FOUND 1 )
+ IF ( NOT LibSoup2_FIND_QUIETLY )
+ MESSAGE( STATUS "Found libsoup2: ${_libsoup2_LIBRARY}" )
+ ENDIF ( NOT LibSoup2_FIND_QUIETLY )
+ ELSE ( LIBSOUP2_LIBRARIES AND LIBSOUP_INCLUDE_DIRS AND _libsoup2_FOUND )
+ IF ( LibSoup2_FIND_REQUIRED )
+ MESSAGE( SEND_ERROR "Could NOT find libsoup2" )
+ ELSE ( LibSoup2_FIND_REQUIRED )
+ IF ( NOT LibSoup2_FIND_QUIETLY )
+ MESSAGE( STATUS "Could NOT find libsoup2" )
+ ENDIF ( NOT LibSoup2_FIND_QUIETLY )
+ ENDIF ( LibSoup2_FIND_REQUIRED )
+ ENDIF ( LIBSOUP2_LIBRARIES AND LIBSOUP2_INCLUDE_DIRS AND _libsoup2_FOUND )
+ENDIF( NOT LIBSOUP2_FOUND AND NOT PKG_CONFIG_FOUND )
+
+# Hide advanced variables from CMake GUIs
+MARK_AS_ADVANCED( LIBSOUP2_LIBRARIES LIBSOUP2_INCLUDE_DIRS )
+
diff --git a/Source/cmake/FindLibXlst.cmake b/Source/cmake/FindLibXlst.cmake
new file mode 100644
index 0000000..1c55c4c
--- /dev/null
+++ b/Source/cmake/FindLibXlst.cmake
@@ -0,0 +1,68 @@
+# - Try to find LibXslt
+# Once done this will define
+#
+# LIBXSLT_FOUND - system has LibXslt
+# LIBXSLT_INCLUDE_DIR - the LibXslt include directory
+# LIBXSLT_LIBRARIES - Link these to LibXslt
+# LIBXSLT_DEFINITIONS - Compiler switches required for using LibXslt
+# LIBXSLT_XSLTPROC_EXECUTABLE - path to the xsltproc tool
+
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+IF (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES)
+ # in cache already
+ SET(LibXslt_FIND_QUIETLY TRUE)
+ENDIF (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES)
+
+IF (NOT WIN32)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ pkg_check_modules(PC_XSLT QUIET libxslt)
+ SET(LIBXSLT_DEFINITIONS ${PC_XSLT_CFLAGS_OTHER})
+ENDIF (NOT WIN32)
+
+FIND_PATH(LIBXSLT_INCLUDE_DIR libxslt/xslt.h
+ PATHS
+ ${PC_XSLT_INCLUDEDIR}
+ ${PC_XSLT_INCLUDE_DIRS}
+ )
+
+FIND_LIBRARY(LIBXSLT_LIBRARIES NAMES xslt libxslt
+ PATHS
+ ${PC_XSLT_LIBDIR}
+ ${PC_XSLT_LIBRARY_DIRS}
+ )
+
+FIND_LIBRARY(LIBEXSLT_LIBRARIES NAMES exslt libexslt
+ PATHS
+ ${PC_XSLT_LIBDIR}
+ ${PC_XSLT_LIBRARY_DIRS}
+ )
+
+IF (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES)
+ SET(LIBXSLT_FOUND TRUE)
+ELSE (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES)
+ SET(LIBXSLT_FOUND FALSE)
+ENDIF (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES)
+
+FIND_PROGRAM(LIBXSLT_XSLTPROC_EXECUTABLE xsltproc)
+# For compatibility with FindLibXslt.cmake from KDE 4.[01].x
+SET(XSLTPROC_EXECUTABLE ${LIBXSLT_XSLTPROC_EXECUTABLE})
+
+IF (LIBXSLT_FOUND)
+ IF (NOT LibXslt_FIND_QUIETLY)
+ MESSAGE(STATUS "Found LibXslt: ${LIBXSLT_LIBRARIES}")
+ ENDIF (NOT LibXslt_FIND_QUIETLY)
+ELSE (LIBXSLT_FOUND)
+ IF (LibXslt_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could NOT find LibXslt")
+ ENDIF (LibXslt_FIND_REQUIRED)
+ENDIF (LIBXSLT_FOUND)
+
+MARK_AS_ADVANCED(LIBXSLT_INCLUDE_DIR LIBXSLT_LIBRARIES LIBEXSLT_LIBRARIES LIBXSLT_XSLTPROC_EXECUTABLE)
+
diff --git a/Source/cmake/FindPango.cmake b/Source/cmake/FindPango.cmake
new file mode 100644
index 0000000..0df547f
--- /dev/null
+++ b/Source/cmake/FindPango.cmake
@@ -0,0 +1,34 @@
+# - Try to find Pango
+# Once done, this will define
+#
+# Pango_FOUND - system has Pango
+# Pango_INCLUDE_DIRS - the Pango include directories
+# Pango_LIBRARIES - link these to use Pango
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Pango Freetype)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Pango_PKGCONF pango)
+
+# Include dir
+find_path(Pango_INCLUDE_DIR
+ NAMES pango/pango.h
+ PATHS ${Pango_PKGCONF_INCLUDE_DIRS}
+ PATH_SUFFIXES pango-1.0
+)
+
+# Finally the library itself
+find_library(Pango_LIBRARY
+ NAMES pango-1.0
+ PATHS ${Pango_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Pango_PROCESS_INCLUDES Pango_INCLUDE_DIR Freetype_INCLUDE_DIRS)
+set(Pango_PROCESS_LIBS Pango_LIBRARY Freetype_LIBRARIES)
+libfind_process(Pango)
+
diff --git a/Source/cmake/FindSqlite.cmake b/Source/cmake/FindSqlite.cmake
new file mode 100644
index 0000000..2fa7633
--- /dev/null
+++ b/Source/cmake/FindSqlite.cmake
@@ -0,0 +1,50 @@
+# - Try to find Sqlite
+# Once done this will define
+#
+# SQLITE_FOUND - system has Sqlite
+# SQLITE_INCLUDE_DIR - the Sqlite include directory
+# SQLITE_LIBRARIES - Link these to use Sqlite
+# SQLITE_DEFINITIONS - Compiler switches required for using Sqlite
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+#
+
+
+# Copyright (c) 2008, Gilles Caulier, <caulier.gilles@gmail.com>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if ( SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES )
+ # in cache already
+ SET(Sqlite_FIND_QUIETLY TRUE)
+endif ( SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES )
+
+# use pkg-config to get the directories and then use these values
+# in the FIND_PATH() and FIND_LIBRARY() calls
+if( NOT WIN32 )
+ find_package(PkgConfig)
+
+ pkg_check_modules(PC_SQLITE sqlite3)
+
+ set(SQLITE_DEFINITIONS ${PC_SQLITE_CFLAGS_OTHER})
+endif( NOT WIN32 )
+
+FIND_PATH(SQLITE_INCLUDE_DIR NAMES sqlite3.h
+ PATHS
+ ${PC_SQLITE_INCLUDEDIR}
+ ${PC_SQLITE_INCLUDE_DIRS}
+)
+
+FIND_LIBRARY(SQLITE_LIBRARIES NAMES sqlite3
+ PATHS
+ ${PC_SQLITE_LIBDIR}
+ ${PC_SQLITE_LIBRARY_DIRS}
+)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sqlite DEFAULT_MSG SQLITE_INCLUDE_DIR SQLITE_LIBRARIES )
+
+# show the SQLITE_INCLUDE_DIR and SQLITE_LIBRARIES variables only in the advanced view
+MARK_AS_ADVANCED(SQLITE_INCLUDE_DIR SQLITE_LIBRARIES )
+
diff --git a/Source/cmake/LibFindMacros.cmake b/Source/cmake/LibFindMacros.cmake
new file mode 100644
index 0000000..69975c5
--- /dev/null
+++ b/Source/cmake/LibFindMacros.cmake
@@ -0,0 +1,99 @@
+# Works the same as find_package, but forwards the "REQUIRED" and "QUIET" arguments
+# used for the current package. For this to work, the first parameter must be the
+# prefix of the current package, then the prefix of the new package etc, which are
+# passed to find_package.
+macro (libfind_package PREFIX)
+ set (LIBFIND_PACKAGE_ARGS ${ARGN})
+ if (${PREFIX}_FIND_QUIETLY)
+ set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} QUIET)
+ endif (${PREFIX}_FIND_QUIETLY)
+ if (${PREFIX}_FIND_REQUIRED)
+ set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} REQUIRED)
+ endif (${PREFIX}_FIND_REQUIRED)
+ find_package(${LIBFIND_PACKAGE_ARGS})
+endmacro (libfind_package)
+
+# CMake developers made the UsePkgConfig system deprecated in the same release (2.6)
+# where they added pkg_check_modules. Consequently I need to support both in my scripts
+# to avoid those deprecated warnings. Here's a helper that does just that.
+# Works identically to pkg_check_modules, except that no checks are needed prior to use.
+macro (libfind_pkg_check_modules PREFIX PKGNAME)
+ if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
+ include(UsePkgConfig)
+ pkgconfig(${PKGNAME} ${PREFIX}_INCLUDE_DIRS ${PREFIX}_LIBRARY_DIRS ${PREFIX}_LDFLAGS ${PREFIX}_CFLAGS)
+ else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(${PREFIX} ${PKGNAME})
+ endif (PKG_CONFIG_FOUND)
+ endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
+endmacro (libfind_pkg_check_modules)
+
+# Do the final processing once the paths have been detected.
+# If include dirs are needed, ${PREFIX}_PROCESS_INCLUDES should be set to contain
+# all the variables, each of which contain one include directory.
+# Ditto for ${PREFIX}_PROCESS_LIBS and library files.
+# Will set ${PREFIX}_FOUND, ${PREFIX}_INCLUDE_DIRS and ${PREFIX}_LIBRARIES.
+# Also handles errors in case library detection was required, etc.
+macro (libfind_process PREFIX)
+ # Skip processing if already processed during this run
+ if (NOT ${PREFIX}_FOUND)
+ # Start with the assumption that the library was found
+ set (${PREFIX}_FOUND TRUE)
+
+ # Process all includes and set _FOUND to false if any are missing
+ foreach (i ${${PREFIX}_PROCESS_INCLUDES})
+ if (${i})
+ set (${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIRS} ${${i}})
+ mark_as_advanced(${i})
+ else (${i})
+ set (${PREFIX}_FOUND FALSE)
+ endif (${i})
+ endforeach (i)
+
+ # Process all libraries and set _FOUND to false if any are missing
+ foreach (i ${${PREFIX}_PROCESS_LIBS})
+ if (${i})
+ set (${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARIES} ${${i}})
+ mark_as_advanced(${i})
+ else (${i})
+ set (${PREFIX}_FOUND FALSE)
+ endif (${i})
+ endforeach (i)
+
+ # Print message and/or exit on fatal error
+ if (${PREFIX}_FOUND)
+ if (NOT ${PREFIX}_FIND_QUIETLY)
+ message (STATUS "Found ${PREFIX} ${${PREFIX}_VERSION}")
+ endif (NOT ${PREFIX}_FIND_QUIETLY)
+ else (${PREFIX}_FOUND)
+ if (${PREFIX}_FIND_REQUIRED)
+ foreach (i ${${PREFIX}_PROCESS_INCLUDES} ${${PREFIX}_PROCESS_LIBS})
+ message("${i}=${${i}}")
+ endforeach (i)
+ message (FATAL_ERROR "Required library ${PREFIX} NOT FOUND.\nInstall the library (dev version) and try again. If the library is already installed, use ccmake to set the missing variables manually.")
+ endif (${PREFIX}_FIND_REQUIRED)
+ endif (${PREFIX}_FOUND)
+ endif (NOT ${PREFIX}_FOUND)
+endmacro (libfind_process)
+
+macro(libfind_library PREFIX basename)
+ set(TMP "")
+ if(MSVC80)
+ set(TMP -vc80)
+ endif(MSVC80)
+ if(MSVC90)
+ set(TMP -vc90)
+ endif(MSVC90)
+ set(${PREFIX}_LIBNAMES ${basename}${TMP})
+ if(${ARGC} GREATER 2)
+ set(${PREFIX}_LIBNAMES ${basename}${TMP}-${ARGV2})
+ string(REGEX REPLACE "\\." "_" TMP ${${PREFIX}_LIBNAMES})
+ set(${PREFIX}_LIBNAMES ${${PREFIX}_LIBNAMES} ${TMP})
+ endif(${ARGC} GREATER 2)
+ find_library(${PREFIX}_LIBRARY
+ NAMES ${${PREFIX}_LIBNAMES}
+ PATHS ${${PREFIX}_PKGCONF_LIBRARY_DIRS}
+ )
+endmacro(libfind_library)
+
diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
new file mode 100644
index 0000000..0331df8
--- /dev/null
+++ b/Source/cmake/OptionsCommon.cmake
@@ -0,0 +1,20 @@
+ADD_DEFINITIONS(-DBUILDING_WITH_CMAKE=1)
+ADD_DEFINITIONS(-DHAVE_CONFIG_H=1)
+
+SET(WTF_INCLUDE_DIRECTORIES
+ "${JAVASCRIPTCORE_DIR}"
+ "${JAVASCRIPTCORE_DIR}/wtf"
+ "${JAVASCRIPTCORE_DIR}/wtf/unicode"
+ "${CMAKE_SOURCE_DIR}/Source"
+ "${DERIVED_SOURCES_DIR}"
+)
+
+IF (WTF_OS_UNIX)
+ ADD_DEFINITIONS(-DXP_UNIX)
+ENDIF (WTF_OS_UNIX)
+
+IF (MSVC)
+ SET(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} /nologo /EP")
+ELSE ()
+ SET(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} -E -P -x c++")
+ENDIF ()
diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake
new file mode 100644
index 0000000..3f846fe
--- /dev/null
+++ b/Source/cmake/OptionsEfl.cmake
@@ -0,0 +1,170 @@
+SET(PROJECT_VERSION_MAJOR 0)
+SET(PROJECT_VERSION_MINOR 1)
+SET(PROJECT_VERSION_PATCH 0)
+SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
+
+# -----------------------------------------------------------------------------
+# We mention Safari version because many sites check for it.
+# Sync with Source/WebCore/Configurations/Version.xcconfig whenever Safari is
+# version up.
+# -----------------------------------------------------------------------------
+SET(USER_AGENT_VERSION_MAJOR 534)
+SET(USER_AGENT_VERSION_MINOR 16)
+
+ADD_DEFINITIONS(-DWTF_PLATFORM_EFL=1)
+SET(WTF_PLATFORM_EFL 1)
+
+# -----------------------------------------------------------------------------
+# Determine which network backend will be used
+# -----------------------------------------------------------------------------
+SET(ALL_NETWORK_BACKENDS soup curl)
+SET(NETWORK_BACKEND "soup" CACHE STRING "choose which network backend to use (one of ${ALL_NETWORK_BACKENDS})")
+
+# -----------------------------------------------------------------------------
+# Determine which font backend will be used
+# -----------------------------------------------------------------------------
+SET(ALL_FONT_BACKENDS freetype pango)
+SET(FONT_BACKEND "freetype" CACHE STRING "choose which network backend to use (one of ${ALL_FONT_BACKENDS})")
+
+FIND_PACKAGE(Cairo 1.6 REQUIRED)
+FIND_PACKAGE(EFL REQUIRED)
+FIND_PACKAGE(Fontconfig 2.8.0 REQUIRED)
+FIND_PACKAGE(Sqlite REQUIRED)
+FIND_PACKAGE(LibXml2 2.6 REQUIRED)
+FIND_PACKAGE(LibXslt 1.1.7 REQUIRED)
+FIND_PACKAGE(ICU REQUIRED)
+FIND_PACKAGE(Threads REQUIRED)
+FIND_PACKAGE(JPEG REQUIRED)
+FIND_PACKAGE(PNG REQUIRED)
+
+ADD_DEFINITIONS(-DENABLE_CONTEXT_MENUS=0)
+
+SET(WTF_USE_PTHREADS 1)
+ADD_DEFINITIONS(-DWTF_USE_PTHREADS=1)
+
+SET(WTF_USE_ICU_UNICODE 1)
+ADD_DEFINITIONS(-DWTF_USE_ICU_UNICODE=1)
+LIST(APPEND WTF_INCLUDE_DIRECTORIES ${ICU_INCLUDE_DIRS})
+
+SET(WTF_PLATFORM_CAIRO 1)
+ADD_DEFINITIONS(-DWTF_PLATFORM_CAIRO=1)
+
+SET(JSC_EXECUTABLE_NAME jsc_efl)
+SET(WTF_LIBRARY_NAME wtf_efl)
+SET(JavaScriptCore_LIBRARY_NAME javascriptcore_efl)
+SET(WebCore_LIBRARY_NAME webcore_efl)
+SET(WebKit_LIBRARY_NAME ewebkit)
+
+SET(DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR})
+ADD_DEFINITIONS(-DDATA_DIR="${DATA_DIR}")
+
+SET(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_MODULE_PATH}/eflsymbols.filter")
+
+WEBKIT_FEATURE(ENABLE_AS_IMAGE "Enable SVG as image" DEFAULT ON SVG)
+WEBKIT_FEATURE(ENABLE_BLOB "Enable blob slice" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_CHANNEL_MESSAGING "Enable channel messaging" DEFAULT ON)
+WEBKIT_FEATURE(ENABLE_DATABASE "Enable database" DEFAULT ON)
+WEBKIT_FEATURE(ENABLE_DATAGRID "Enable datagrid" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_DATALIST "Enable datalist" DEFAULT ON HTML)
+WEBKIT_FEATURE(ENABLE_DOM_STORAGE "Enable DOM storage" DEFAULT ON)
+WEBKIT_FEATURE(ENABLE_EVENTSOURCE "Enable event source" DEFAULT ON)
+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 SVG)
+WEBKIT_FEATURE(ENABLE_FTPDIR "Enable FTP directory support" DEFAULT ON)
+WEBKIT_FEATURE(ENABLE_GEOLOCATION "Enable geolocation" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_GLIB_SUPPORT "Enable Glib support" DEFAULT ON)
+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 OFF)
+WEBKIT_FEATURE(ENABLE_MATHML "Enable MathML" DEFAULT ON)
+WEBKIT_FEATURE(ENABLE_NETSCAPE_PLUGIN_API "Enable Netscape plugin API" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_NOTIFICATIONS "Enable notifications" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_OFFLINE_WEB_APPLICATIONS "Enable offline web applications" DEFAULT ON)
+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 ON)
+WEBKIT_FEATURE(ENABLE_SVG "Enable SVG" DEFAULT ON)
+WEBKIT_FEATURE(ENABLE_SVG_ANIMATION "Enable SVG animation" DEFAULT ON SVG)
+WEBKIT_FEATURE(ENABLE_SVG_FONTS "Enable SVG fonts" DEFAULT ON SVG)
+WEBKIT_FEATURE(ENABLE_SVG_FOREIGN_OBJECT "Enable SVG foreign object" DEFAULT ON SVG)
+WEBKIT_FEATURE(ENABLE_SVG_USE "Enable SVG use" DEFAULT ON SVG)
+WEBKIT_FEATURE(ENABLE_TOUCH_EVENTS "Enable Touch Events" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_VIDEO "Enable video" DEFAULT ON HTML)
+WEBKIT_FEATURE(ENABLE_WEB_SOCKETS "Enable web sockets" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_WML "Enable WML" DEFAULT OFF)
+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)
+
+OPTION(ENABLE_ECORE_X "Enable Ecore_X specific usage (cursor, bell)" ON)
+IF (ENABLE_ECORE_X)
+ IF (ECORE_X_FOUND)
+ MESSAGE(STATUS "Using Ecore-X to provide extended support.")
+ ADD_DEFINITIONS(-DHAVE_ECORE_X)
+ ELSE ()
+ MESSAGE(ERROR "Requested Ecore-X but it was not found!")
+ ENDIF ()
+ENDIF ()
+
+IF (NETWORK_BACKEND STREQUAL "soup")
+ IF (NOT ENABLE_GLIB_SUPPORT)
+ SET(ENABLE_GLIB_SUPPORT 1)
+ MESSAGE("Forcing Glib support")
+ ENDIF ()
+ FIND_PACKAGE(LibSoup2 2.28.2 REQUIRED)
+ SET(WTF_USE_SOUP 1)
+ ADD_DEFINITIONS(-DWTF_USE_SOUP=1)
+
+ IF (LIBSOUP24_VERSION VERSION_LESS 2.29.90)
+ ELSE (LIBSOUP24_VERSION VERSION_LESS 2.29.90)
+ SET(HAVE_LIBSOUP_2_29_90 1)
+ ADD_DEFINITIONS(-DHAVE_LIBSOUP_2_29_90=1)
+ ENDIF ()
+ELSE ()
+ FIND_PACKAGE(CURL REQUIRED)
+ SET(WTF_USE_CURL 1)
+ ADD_DEFINITIONS(-DWTF_USE_CURL=1)
+ENDIF ()
+
+IF (FONT_BACKEND STREQUAL "freetype")
+ FIND_PACKAGE(Freetype 9.0 REQUIRED)
+ SET(WTF_USE_FREETYPE 1)
+ ADD_DEFINITIONS(-DUSE_FREETYPE=1)
+ELSE ()
+ FIND_PACKAGE(Pango REQUIRED)
+ SET(WTF_USE_PANGO 1)
+ ADD_DEFINITIONS(-DUSE_PANGO=1)
+
+ IF (NOT ENABLE_GLIB_SUPPORT)
+ SET(ENABLE_GLIB_SUPPORT 1)
+ MESSAGE("Forcing Glib support")
+ ENDIF ()
+ENDIF ()
+
+IF (ENABLE_VIDEO)
+ SET(ENABLE_GLIB_SUPPORT 1)
+ MESSAGE("Forcing Glib support")
+ENDIF()
+
+IF (ENABLE_GLIB_SUPPORT)
+ FIND_PACKAGE(GDK 2.10 REQUIRED)
+ FIND_PACKAGE(Glib REQUIRED)
+ FIND_PACKAGE(Gthread REQUIRED)
+ENDIF ()
+
+IF (ENABLE_VIDEO)
+ FIND_PACKAGE(GStreamer REQUIRED)
+ FIND_PACKAGE(GStreamer-App REQUIRED)
+ FIND_PACKAGE(GStreamer-Base REQUIRED)
+ FIND_PACKAGE(GStreamer-Pbutils REQUIRED)
+ FIND_PACKAGE(GStreamer-Interfaces REQUIRED)
+ FIND_PACKAGE(GStreamer-Plugins-Base REQUIRED)
+ FIND_PACKAGE(GStreamer-Video REQUIRED)
+ SET(WTF_USE_GSTREAMER 1)
+ ADD_DEFINITIONS(-DWTF_USE_GSTREAMER=1)
+ENDIF()
+
+SET(CPACK_SOURCE_GENERATOR TBZ2)
diff --git a/Source/cmake/OptionsWinCE.cmake b/Source/cmake/OptionsWinCE.cmake
new file mode 100644
index 0000000..55f8caa
--- /dev/null
+++ b/Source/cmake/OptionsWinCE.cmake
@@ -0,0 +1,59 @@
+INCLUDE(OptionsWindows)
+
+ADD_DEFINITIONS(-DWTF_USE_WINCE_UNICODE=1)
+ADD_DEFINITIONS(-DWTF_USE_WININET=1)
+ADD_DEFINITIONS(-DWTF_CPU_ARM_TRADITIONAL -DWINCEBASIC)
+ADD_DEFINITIONS(-DJS_NO_EXPORT)
+ADD_DEFINITIONS(-DENABLE_JSC_MULTIPLE_THREADS=0)
+ADD_DEFINITIONS(-DHAVE_ACCESSIBILITY=0)
+ADD_DEFINITIONS(-DUSE_SYSTEM_MALLOC=1)
+ADD_DEFINITIONS(-DJSCCOLLECTOR_VIRTUALMEM_RESERVATION=0x200000)
+
+IF (NOT 3RDPARTY_DIR)
+ IF (EXISTS $ENV{WEBKITTHIRDPARTYDIR})
+ SET(3RDPARTY_DIR $ENV{WEBKITTHIRDPARTYDIR})
+ ELSE ()
+ MESSAGE(FATAL_ERROR "You must provide a third party directory for WinCE port.")
+ ENDIF ()
+ENDIF ()
+
+INCLUDE_DIRECTORIES(${3RDPARTY_DIR}/ce-compat)
+ADD_SUBDIRECTORY(${3RDPARTY_DIR} "${CMAKE_CURRENT_BINARY_DIR}/3rdparty")
+
+WEBKIT_FEATURE(ENABLE_AS_IMAGE "Enable SVG as image" DEFAULT ON SVG)
+WEBKIT_FEATURE(ENABLE_BLOB "Enable blob slice" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_CHANNEL_MESSAGING "Enable channel messaging" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_DATABASE "Enable database" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_DATAGRID "Enable datagrid" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_DATALIST "Enable datalist" DEFAULT OFF HTML)
+WEBKIT_FEATURE(ENABLE_DOM_STORAGE "Enable DOM storage" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_EVENTSOURCE "Enable event source" DEFAULT ON)
+WEBKIT_FEATURE(ENABLE_FAST_MOBILE_SCROLLING "Enable fast mobile scrolling" DEFAULT ON)
+WEBKIT_FEATURE(ENABLE_FILTERS "Enable SVG filters" DEFAULT OFF SVG)
+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_MATHML "Enable MathML" 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_OFFLINE_WEB_APPLICATIONS "Enable offline web applications" 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_SVG "Enable SVG" DEFAULT ON)
+WEBKIT_FEATURE(ENABLE_SVG_ANIMATION "Enable SVG animation" DEFAULT OFF SVG)
+WEBKIT_FEATURE(ENABLE_SVG_FONTS "Enable SVG fonts" DEFAULT ON SVG)
+WEBKIT_FEATURE(ENABLE_SVG_FOREIGN_OBJECT "Enable SVG foreign object" DEFAULT OFF SVG)
+WEBKIT_FEATURE(ENABLE_SVG_USE "Enable SVG use" DEFAULT ON SVG)
+WEBKIT_FEATURE(ENABLE_TOUCH_EVENTS "Enable Touch Events" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_VIDEO "Enable video" DEFAULT OFF HTML)
+WEBKIT_FEATURE(ENABLE_WEB_SOCKETS "Enable web sockets" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_WML "Enable WML" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_WORKERS "Enable workers" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_XHTMLMP "Enable XHTMLMP" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_XPATH "Enable XPath" DEFAULT OFF)
+WEBKIT_FEATURE(ENABLE_XSLT "Enable XSLT" DEFAULT OFF)
diff --git a/Source/cmake/OptionsWindows.cmake b/Source/cmake/OptionsWindows.cmake
new file mode 100644
index 0000000..a8f02b3
--- /dev/null
+++ b/Source/cmake/OptionsWindows.cmake
@@ -0,0 +1,14 @@
+ADD_DEFINITIONS(-DWTF_PLATFORM_WINDOWS=1)
+SET(WTF_PLATFORM_WINDOWS 1)
+
+ADD_DEFINITIONS(-DUNICODE)
+
+INCLUDE_DIRECTORIES(${JAVASCRIPTCORE_DIR}/os-win32)
+
+IF (MSVC)
+ ADD_DEFINITIONS(/WX
+ /wd4018 /wd4065 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4180 /wd4189 /wd4201 /wd4244 /wd4251 /wd4275 /wd4288 /wd4291
+ /wd4305 /wd4344 /wd4355 /wd4389 /wd4396 /wd4503 /wd4505 /wd4510 /wd4512 /wd4610 /wd4706 /wd4800 /wd4951 /wd4952 /wd4996)
+ENDIF ()
+
+STRING(REPLACE "/ENTRY:mainACRTStartup" "/ENTRY:WinMainCRTStartup" CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
diff --git a/Source/cmake/WebKitEfl.cmake b/Source/cmake/WebKitEfl.cmake
new file mode 100644
index 0000000..06bd060
--- /dev/null
+++ b/Source/cmake/WebKitEfl.cmake
@@ -0,0 +1,6 @@
+# EFL port specific macros and definitions
+
+FIND_PROGRAM(EDJE_CC_EXECUTABLE edje_cc)
+IF (NOT EDJE_CC_EXECUTABLE)
+ MESSAGE(FATAL_ERROR "Missing edje_cc")
+ENDIF ()
diff --git a/Source/cmake/WebKitFS.cmake b/Source/cmake/WebKitFS.cmake
new file mode 100644
index 0000000..a2117cd
--- /dev/null
+++ b/Source/cmake/WebKitFS.cmake
@@ -0,0 +1,6 @@
+SET(DERIVED_SOURCES_DIR "${CMAKE_BINARY_DIR}/DerivedSources")
+
+FILE(MAKE_DIRECTORY ${DERIVED_SOURCES_DIR})
+FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/pcre)
+FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/runtime)
+FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Programs)
diff --git a/Source/cmake/WebKitFeatures.cmake b/Source/cmake/WebKitFeatures.cmake
new file mode 100644
index 0000000..f7516f4
--- /dev/null
+++ b/Source/cmake/WebKitFeatures.cmake
@@ -0,0 +1,91 @@
+SET(DEFAULT 0)
+SET(DEPENDS 1)
+
+SET(WEBKIT_FEATURES "")
+
+SET(HTML_FEATURES "")
+SET(SVG_FEATURES "")
+
+MACRO(WEBKIT_SEPARATE_FEATURES _name _value)
+ FOREACH(f ${ARGN})
+ LIST(APPEND ${f}_FEATURES "${_name}=${_value}")
+ ENDFOREACH()
+ENDMACRO(WEBKIT_SEPARATE_FEATURES)
+
+MACRO(WEBKIT_FEATURE_CHECK_DEPS _deps _deps_ok)
+ SET(${_deps_ok} TRUE)
+
+ LIST(LENGTH ${_deps} ${_deps_ok}_LIST_SIZE)
+ IF (${${_deps_ok}_LIST_SIZE} GREATER 1)
+ FOREACH(_dep ${${_deps}})
+ IF (NOT ${_dep})
+ SET(${_deps_ok} FALSE)
+ BREAK()
+ ENDIF ()
+ ENDFOREACH ()
+ ELSE ()
+ IF (NOT ${_deps})
+ SET(${_deps_ok} FALSE)
+ ENDIF ()
+ ENDIF ()
+ENDMACRO()
+
+MACRO(WEBKIT_FEATURE _feature _description _type _args)
+ IF (${_type} EQUAL ${DEPENDS})
+ WEBKIT_FEATURE_CHECK_DEPS(${_args} DEPS_OK_${_feature})
+ OPTION(${_feature} "${_description}" DEPS_OK_${_feature})
+ ELSEIF (${_type} EQUAL ${DEFAULT})
+ OPTION(${_feature} "${_description}" ${_args})
+ ENDIF ()
+
+ LIST(APPEND WEBKIT_FEATURES ${_feature})
+
+ IF (${_feature})
+ SET(${_feature}_VALUE 1)
+ WEBKIT_SEPARATE_FEATURES(${_feature} 1 ${ARGN})
+ LIST(APPEND FEATURE_DEFINES ${_feature})
+ ELSE ()
+ SET(${_feature}_VALUE 0)
+ WEBKIT_SEPARATE_FEATURES(${_feature} 0 ${ARGN})
+ ENDIF ()
+ENDMACRO()
+
+MACRO(WEBKIT_PRINT_FEATURES)
+ MESSAGE(STATUS "Enabled features:")
+
+ SET(MAX_FEATURE_LENGTH 0)
+ FOREACH (_feature ${WEBKIT_FEATURES})
+ STRING(LENGTH ${_feature} FEATURE_LENGTH)
+ IF (FEATURE_LENGTH GREATER MAX_FEATURE_LENGTH)
+ SET(MAX_FEATURE_LENGTH ${FEATURE_LENGTH})
+ ENDIF ()
+ ENDFOREACH ()
+
+ SET(ODD 0)
+ FOREACH (_feature ${WEBKIT_FEATURES})
+ STRING(LENGTH ${_feature} FEATURE_LENGTH)
+ SET(SPACES "")
+
+ IF (ODD)
+ FOREACH (IGNORE RANGE ${FEATURE_LENGTH} ${MAX_FEATURE_LENGTH})
+ SET(SPACES "${SPACES} ")
+ ENDFOREACH ()
+ SET(ODD 0)
+ ELSE ()
+ FOREACH (IGNORE RANGE ${FEATURE_LENGTH} ${MAX_FEATURE_LENGTH})
+ SET(SPACES "${SPACES}.")
+ ENDFOREACH ()
+ SET(ODD 1)
+ ENDIF ()
+
+ IF (${_feature})
+ MESSAGE(STATUS " ${_feature} ${SPACES} ON")
+ ELSE ()
+ MESSAGE(STATUS " ${_feature} ${SPACES} OFF")
+ ENDIF ()
+ ENDFOREACH ()
+
+ UNSET(FEATURE_LENGTH)
+ UNSET(MAX_FEATURE_LENGTH)
+ UNSET(ODD)
+ENDMACRO()
diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake
new file mode 100644
index 0000000..58c506b
--- /dev/null
+++ b/Source/cmake/WebKitHelpers.cmake
@@ -0,0 +1,79 @@
+# Sets extra compile flags for a target, depending on the compiler being used.
+# Currently, only GCC is supported.
+MACRO(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ GET_TARGET_PROPERTY(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
+ IF (${OLD_COMPILE_FLAGS} STREQUAL "OLD_COMPILE_FLAGS-NOTFOUND")
+ SET(OLD_COMPILE_FLAGS "")
+ ENDIF ()
+
+ # Disable some optimizations on buggy compiler versions
+ # GCC 4.5.1 does not implement -ftree-sra correctly
+ EXEC_PROGRAM(${CMAKE_CXX_COMPILER} ARGS -dumpversion OUTPUT_VARIABLE COMPILER_VERSION)
+ IF (${COMPILER_VERSION} STREQUAL "4.5.1")
+ SET(OLD_COMPILE_FLAGS "${OLD_COMPILE_FLAGS} -fno-tree-sra")
+ ENDIF ()
+
+ IF (NOT SHARED_CORE)
+ SET(OLD_COMPILE_FLAGS "-fPIC -fvisibility=hidden ${OLD_COMPILE_FLAGS}")
+ ENDIF ()
+
+ SET(OLD_COMPILE_FLAGS "-fno-exceptions -fno-strict-aliasing ${OLD_COMPILE_FLAGS}")
+
+ # Enable warnings by default
+ SET(OLD_COMPILE_FLAGS "-W -DANOTHER_BRICK_IN_THE -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat -Wformat-security -Wmissing-format-attribute -Wno-format-y2k -Wno-parentheses -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wundef -Wwrite-strings ${OLD_COMPILE_FLAGS}")
+
+ SET_TARGET_PROPERTIES (${_target} PROPERTIES
+ COMPILE_FLAGS "${OLD_COMPILE_FLAGS}")
+
+ UNSET(OLD_COMPILE_FLAGS)
+ ENDIF ()
+ENDMACRO()
+
+
+# Append the given flag to the target property.
+# Builds on top of GET_TARGET_PROPERTY() and SET_TARGET_PROPERTIES()
+MACRO (ADD_TARGET_PROPERTIES _target _property _flags)
+ GET_TARGET_PROPERTY (_tmp ${_target} ${_property})
+ IF (NOT _tmp)
+ SET (_tmp "")
+ ENDIF (NOT _tmp)
+
+ FOREACH (f ${_flags})
+ SET (_tmp "${_tmp} ${f}")
+ ENDFOREACH (f ${_flags})
+
+ SET_TARGET_PROPERTIES (${_target} PROPERTIES ${_property} ${_tmp})
+ UNSET (_tmp)
+ENDMACRO (ADD_TARGET_PROPERTIES _target _property _flags)
+
+
+# Append the given dependencies to the source file
+MACRO(ADD_SOURCE_DEPENDENCIES _source _deps)
+ GET_SOURCE_FILE_PROPERTY(_tmp ${_source} OBJECT_DEPENDS)
+ IF (NOT _tmp)
+ SET (_tmp "")
+ ENDIF ()
+
+ FOREACH (f ${_deps})
+ LIST(APPEND _tmp "${f}")
+ ENDFOREACH ()
+
+ SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
+ UNSET(_tmp)
+ENDMACRO()
+
+
+# Append the given dependencies to the source file
+# This one consider the given dependencies are in ${DERIVED_SOURCES_DIR}
+# and prepends this to every member of dependencies list
+MACRO(ADD_SOURCE_DERIVED_DEPENDENCIES _source _deps)
+ SET(_tmp "")
+ FOREACH (f ${_deps})
+ LIST(APPEND _tmp "${DERIVED_SOURCES_DIR}/${f}")
+ ENDFOREACH ()
+
+ ADD_SOURCE_DEPENDENCIES(${_source} ${_tmp})
+ UNSET(_tmp)
+ENDMACRO()
+
diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake
new file mode 100644
index 0000000..75a87a6
--- /dev/null
+++ b/Source/cmake/WebKitMacros.cmake
@@ -0,0 +1,130 @@
+MACRO (INCLUDE_IF_EXISTS _file)
+ IF (EXISTS ${_file})
+ MESSAGE(STATUS "Using platform-specific CMakeLists: ${_file}")
+ INCLUDE(${_file})
+ ELSE ()
+ MESSAGE(STATUS "Platform-specific CMakeLists not found: ${_file}")
+ ENDIF ()
+ENDMACRO ()
+
+
+# Append the given dependencies to the source file
+MACRO (ADD_SOURCE_DEPENDENCIES _source _deps)
+ SET(_tmp)
+ GET_SOURCE_FILE_PROPERTY(_tmp ${_source} OBJECT_DEPENDS)
+ IF (NOT _tmp)
+ SET(_tmp "")
+ ENDIF ()
+
+ FOREACH (f ${_deps})
+ LIST(APPEND _tmp "${f}")
+ ENDFOREACH ()
+
+ SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
+ENDMACRO ()
+
+
+MACRO (GENERATE_DOM_NAMES _namespace _attrs)
+ SET(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_names.pl)
+ SET(_arguments --attrs ${_attrs})
+ SET(_outputfiles ${DERIVED_SOURCES_DIR}/${_namespace}Names.cpp ${DERIVED_SOURCES_DIR}/${_namespace}Names.h)
+ SET(_extradef)
+ SET(_tags)
+
+ FOREACH (f ${ARGN})
+ IF (_tags)
+ SET(_extradef "${_extradef} ${f}")
+ ELSE ()
+ SET(_tags ${f})
+ ENDIF ()
+ ENDFOREACH ()
+
+ IF (_tags)
+ SET(_arguments "${_arguments}" --tags ${_tags} --factory --wrapperFactory)
+ SET(_outputfiles "${_outputfiles}" ${DERIVED_SOURCES_DIR}/${_namespace}ElementFactory.cpp ${DERIVED_SOURCES_DIR}/${_namespace}ElementFactory.h ${DERIVED_SOURCES_DIR}/JS${_namespace}ElementWrapperFactory.cpp ${DERIVED_SOURCES_DIR}/JS${_namespace}ElementWrapperFactory.h)
+ ENDIF ()
+
+ IF (_extradef)
+ SET(_additionArguments "${_additionArguments}" --extraDefines=${_extradef})
+ ENDIF ()
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${_outputfiles}
+ DEPENDS ${NAMES_GENERATOR} ${SCRIPTS_BINDINGS} ${_attrs} ${_tags}
+ COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${NAMES_GENERATOR} --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --outputDir ${DERIVED_SOURCES_DIR} ${_arguments} ${_additionArguments}
+ VERBATIM)
+ENDMACRO ()
+
+
+# - Create hash table *.lut.h
+# GENERATE_HASH_LUT(input_file output_file)
+MACRO (GENERATE_HASH_LUT _input _output)
+ SET(HASH_LUT_GENERATOR "${JAVASCRIPTCORE_DIR}/create_hash_table")
+
+ FOREACH (_tmp ${ARGN})
+ IF (${_tmp} STREQUAL "MAIN_DEPENDENCY")
+ SET(_main_dependency ${_input})
+ ENDIF ()
+ ENDFOREACH ()
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${_output}
+ MAIN_DEPENDENCY ${_main_dependency}
+ DEPENDS ${_input} ${HASH_LUT_GENERATOR}
+ COMMAND ${PERL_EXECUTABLE} ${HASH_LUT_GENERATOR} ${_input} > ${_output}
+ VERBATIM)
+ENDMACRO ()
+
+
+MACRO (GENERATE_GRAMMAR _prefix _input _output_header _output_source)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${_output_header} ${_output_source}
+ MAIN_DEPENDENCY ${_input}
+ COMMAND ${BISON_EXECUTABLE} -p ${_prefix} ${_input} -o ${_output_source} --defines=${_output_header}
+ VERBATIM)
+ENDMACRO ()
+
+MACRO(MAKE_HASH_TOOLS _source)
+ GET_FILENAME_COMPONENT(_name ${_source} NAME_WE)
+
+ IF (${_source} STREQUAL "DocTypeStrings")
+ SET(_hash_tools_h "${DERIVED_SOURCES_DIR}/HashTools.h")
+ ELSE ()
+ SET(_hash_tools_h "")
+ ENDIF ()
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${DERIVED_SOURCES_DIR}/${_name}.cpp ${_hash_tools_h}
+ MAIN_DEPENDENCY ${_source}.gperf
+ COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/make-hash-tools.pl ${DERIVED_SOURCES_DIR} ${_source}.gperf
+ VERBATIM)
+
+ UNSET(_name)
+ UNSET(_hash_tools_h)
+ENDMACRO()
+
+MACRO (WEBKIT_WRAP_SOURCELIST)
+ FOREACH (_file ${ARGN})
+ GET_FILENAME_COMPONENT(_basename ${_file} NAME_WE)
+ GET_FILENAME_COMPONENT(_path ${_file} PATH)
+
+ IF (NOT _file MATCHES "${DERIVED_SOURCES_DIR}")
+ STRING(REGEX REPLACE "/" "\\\\\\\\" _sourcegroup "${_path}")
+ SOURCE_GROUP("${_sourcegroup}" FILES ${_file})
+ ENDIF ()
+
+ IF (WTF_PLATFORM_QT)
+ SET(_moc_filename ${DERIVED_SOURCES_DIR}/${_basename}.moc)
+
+ FILE(READ ${_file} _contents)
+
+ STRING(REGEX MATCHALL "#include[ ]+\"${_basename}\\.moc\"" _match "${_contents}")
+ IF (_match)
+ QT4_GENERATE_MOC(${_file} ${_moc_filename})
+ ADD_SOURCE_DEPENDENCIES(${_file} ${_moc_filename})
+ ENDIF ()
+ ENDIF ()
+ ENDFOREACH ()
+
+ SOURCE_GROUP("DerivedSources" REGULAR_EXPRESSION "${DERIVED_SOURCES_DIR}")
+ENDMACRO ()
diff --git a/Source/cmake/WebKitPackaging.cmake b/Source/cmake/WebKitPackaging.cmake
new file mode 100644
index 0000000..4c91073
--- /dev/null
+++ b/Source/cmake/WebKitPackaging.cmake
@@ -0,0 +1,181 @@
+# -----------------------------------------------------------------------------
+# This file defines the basics of CPack behavior for WebKit
+#
+# The following CPack variables will be defined if they were unset:
+# - CPACK_PACKAGE_NAME to WebKit-${PORT}
+# - CPACK_SOURCE_IGNORE_FILES to a known pattern of good files
+#
+# The following variables affect the behavior of packaging:
+# - WEBKIT_CPACK_ALL_PORTS if defined and true, will not limit packaging
+# to just include files of the port (affects CPACK_SOURCE_IGNORE_FILES,
+# just if this variable was not defined before).
+# - WEBKIT_CPACK_ADD_TESTS if defined and true, will also add tests
+# (affects CPACK_SOURCE_IGNORE_FILES, just if this variable was
+# not defined before)
+# - WEBKIT_CPACK_ADD_TOOLS if defined and true, will also add tools
+# (affects CPACK_SOURCE_IGNORE_FILES, just if this variable was
+# not defined before)
+# -----------------------------------------------------------------------------
+
+IF(NOT DEFINED CPACK_PACKAGE_NAME)
+ SET(CPACK_PACKAGE_NAME WebKit-${PORT})
+ENDIF()
+
+IF(NOT DEFINED CPACK_SOURCE_IGNORE_FILES)
+ SET(CPACK_SOURCE_IGNORE_FILES
+ # Version control:
+ "/CVS/"
+ "/\\\\.svn/"
+ "/\\\\.bzr/"
+ "/\\\\.hg/"
+ "/\\\\.git/"
+ "\\\\.swp$"
+ "\\\\.#"
+ "/#"
+ "/\\\\.gitignore$"
+ "/\\\\.gitattributes$"
+
+ # SVN-only files should be ignored (site, examples...)
+ "/PerformanceTests/"
+ "/Examples/"
+ "/Websites/"
+
+ # Other build systems:
+ # - Makefiles (.mk/Makefile)
+ "\\\\.mk$"
+ "\\\\.make$"
+ "Makefile"
+ # - Autotools (GTK)
+ "/autotools/"
+ "/configure\\\\.ac"
+ "/autogen\\\\.sh"
+ "/autom4te\\\\.cache/"
+ "/aclocal\\\\.m4$"
+ "/GNUmakefile"
+ "/GNUmakefile"
+ # - XCode (Mac)
+ "\\\\.xcodeproj"
+ "\\\\.xcconfig"
+ # - GYP
+ "\\\\.gyp"
+ # - QMake (Qt)
+ "\\\\.pri$"
+ "\\\\.pro$"
+
+ # Development & Runtime created files
+ "~$"
+ "\\\\.mode"
+ "\\\\.pbxuser$"
+ "\\\\.perspective"
+ "\\\\.pyc$"
+ "\\\\.pyo$"
+ "/cmake-build/"
+ "/build/"
+ "/WebKitBuild/"
+ "/Tools/Scripts/webkitpy/thirdparty/autoinstalled/"
+ )
+
+ IF(NOT WEBKIT_CPACK_ADD_TESTS)
+ LIST(APPEND CPACK_SOURCE_IGNORE_FILES
+ "/LayoutTests/"
+ "/manual-tests/"
+ "/tests/"
+ )
+ ENDIF(NOT WEBKIT_CPACK_ADD_TESTS)
+
+ IF(NOT WEBKIT_CPACK_ADD_TOOLS)
+ LIST(APPEND CPACK_SOURCE_IGNORE_FILES
+ "/Tools/"
+ "/manual-tools/"
+ "/tools/"
+ "/PageLoadTools/"
+ )
+ ENDIF(NOT WEBKIT_CPACK_ADD_TOOLS)
+
+
+ IF(NOT WEBKIT_CPACK_ALL_PORTS)
+
+ # All file and directory patterns that Efl uses
+ SET(FILE_PATTERNS_Efl
+ "/cairo/" "/Cairo/" "cairo\\\\." "Cairo\\\\."
+ "/efl/" "/Efl/" "efl\\\\." "Efl\\\\."
+ "/glib/" "/Glib/" "glib\\\\." "Glib\\\\."
+ "/gobject/" "/Gobject/" "gobject\\\\." "Gobject\\\\."
+ "/icu/" "/Icu/" "icu\\\\." "Icu\\\\."
+ "/posix/" "/Posix/" "posix\\\\." "Posix\\\\."
+ "/soup/" "/Soup/" "soup\\\\." "Soup\\\\."
+ )
+
+ # File and Directory patterns that no CMake-ified port uses
+ SET(FILE_PATTERNS_UNKNOWN_PORTS
+ "/android/" "/Android/" "android\\\\." "Android\\\\."
+ "/brew/" "/Brew/" "brew\\\\." "Brew\\\\."
+ "/carbon/" "/Carbon/" "carbon\\\\." "Carbon\\\\."
+ "/cf/" "/Cf/" "cf\\\\." "Cf\\\\."
+ "/cg/" "/Cg/" "cg\\\\." "Cg\\\\."
+ "/chromium/" "/Chromium/" "chromium\\\\." "Chromium\\\\."
+ "/cocoa/" "/Cocoa/" "cocoa\\\\." "Cocoa\\\\."
+ "/Configurations/" "/Configurations/" "Configurations\\\\." "Configurations\\\\."
+ "/curl/" "/Curl/" "curl\\\\." "Curl\\\\."
+ "/gstreamer/" "/Gstreamer/" "gstreamer\\\\." "Gstreamer\\\\."
+ "/gtk/" "/Gtk/" "gtk\\\\." "Gtk\\\\."
+ "/haiku/" "/Haiku/" "haiku\\\\." "Haiku\\\\."
+ "/iphone/" "/Iphone/" "iphone\\\\." "Iphone\\\\."
+ "/mac/" "/Mac/" "mac\\\\." "Mac\\\\."
+ "/opentype/" "/Opentype/" "opentype\\\\." "Opentype\\\\."
+ "/openvg/" "/Openvg/" "openvg\\\\." "Openvg\\\\."
+ "/os-win32/" "/Os-Win32/" "os-win32\\\\." "Os-Win32\\\\."
+ "/qscriptengine/" "/Qscriptengine/" "qscriptengine\\\\." "Qscriptengine\\\\."
+ "/qscriptstring/" "/Qscriptstring/" "qscriptstring\\\\." "Qscriptstring\\\\."
+ "/qscriptvalue/" "/Qscriptvalue/" "qscriptvalue\\\\." "Qscriptvalue\\\\."
+ "/qt/" "/Qt/" "qt\\\\." "Qt\\\\."
+ "/qt4/" "/Qt4/" "qt4\\\\." "Qt4\\\\."
+ "/skia/" "/Skia/" "skia\\\\." "Skia\\\\."
+ "/symbian/" "/Symbian/" "symbian\\\\." "Symbian\\\\."
+ "/v8/" "/V8/" "v8\\\\." "V8\\\\."
+ "/V8/" "/V8/" "V8\\\\." "V8\\\\."
+ "/win/" "/Win/" "win\\\\." "Win\\\\."
+ "/wince/" "/Wince/" "wince\\\\." "Wince\\\\."
+ "/wx/" "/Wx/" "wx\\\\." "Wx\\\\."
+ "/wxcode/" "/Wxcode/" "wxcode\\\\." "Wxcode\\\\."
+ "/WebKitLibraries/"
+ "/English\\\\.lproj/"
+ "/WebKit2/"
+ "\\\\.a$"
+ "\\\\.exe$"
+ "\\\\.mm$"
+ )
+
+ # Append all Unknown port patterns
+ FOREACH(_pattern ${FILE_PATTERNS_UNKNOWN_PORTS})
+ LIST(FIND FILE_PATTERNS_${PORT} ${_pattern} _pattern_index)
+ IF(_pattern_index GREATER -1)
+ MESSAGE("pattern ${_pattern} declared of 'no-port' is actually used by ${PORT}")
+ ELSE()
+ LIST(APPEND CPACK_SOURCE_IGNORE_FILES ${_pattern})
+ ENDIF()
+ ENDFOREACH()
+
+ # Append all "other-ports" patterns
+ FOREACH(_port ${ALL_PORTS})
+ IF(NOT ${_port} STREQUAL ${PORT})
+ FOREACH(_pattern ${FILE_PATTERNS_${_port}})
+
+ LIST(FIND FILE_PATTERNS_${PORT} ${_pattern} _pattern_index)
+ IF(_pattern_index GREATER -1)
+ MESSAGE("pattern ${_pattern} of port ${_port} is also used by ${PORT}")
+ ELSE()
+ LIST(APPEND CPACK_SOURCE_IGNORE_FILES ${_pattern})
+ ENDIF()
+ ENDFOREACH()
+ ENDIF()
+ ENDFOREACH()
+
+ ENDIF(NOT WEBKIT_CPACK_ALL_PORTS)
+
+ENDIF(NOT DEFINED CPACK_SOURCE_IGNORE_FILES)
+
+# -----------------------------------------------------------------------------
+# Include CPack that will define targets based on the variables defined before
+# -----------------------------------------------------------------------------
+INCLUDE(CPack)
diff --git a/Source/cmake/eflsymbols.filter b/Source/cmake/eflsymbols.filter
new file mode 100644
index 0000000..356a00c
--- /dev/null
+++ b/Source/cmake/eflsymbols.filter
@@ -0,0 +1,6 @@
+{
+ global:
+ ewk_*;
+ local:
+ *;
+};