summaryrefslogtreecommitdiff
path: root/Source/cmake
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-09-13 12:51:20 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 20:50:05 +0200
commitd441d6f39bb846989d95bcf5caf387b42414718d (patch)
treee367e64a75991c554930278175d403c072de6bb8 /Source/cmake
parent0060b2994c07842f4c59de64b5e3e430525c4b90 (diff)
downloadqtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/cmake')
-rw-r--r--Source/cmake/EFLHelpers.cmake52
-rw-r--r--Source/cmake/FindATK.cmake12
-rw-r--r--Source/cmake/FindCFLite.cmake8
-rw-r--r--Source/cmake/FindCairo.cmake62
-rw-r--r--Source/cmake/FindDBus.cmake16
-rw-r--r--Source/cmake/FindDirectX.cmake24
-rw-r--r--Source/cmake/FindEGL.cmake37
-rw-r--r--Source/cmake/FindE_DBus.cmake16
-rw-r--r--Source/cmake/FindEcore.cmake35
-rw-r--r--Source/cmake/FindEdje.cmake6
-rw-r--r--Source/cmake/FindEet.cmake4
-rw-r--r--Source/cmake/FindEeze.cmake4
-rw-r--r--Source/cmake/FindEfreet.cmake4
-rw-r--r--Source/cmake/FindEina.cmake4
-rw-r--r--Source/cmake/FindElementary.cmake13
-rw-r--r--Source/cmake/FindEnchant.cmake8
-rw-r--r--Source/cmake/FindEo.cmake41
-rw-r--r--Source/cmake/FindEvas.cmake4
-rw-r--r--Source/cmake/FindFontconfig.cmake50
-rw-r--r--Source/cmake/FindGAIL3.cmake48
-rw-r--r--Source/cmake/FindGDK3.cmake49
-rw-r--r--Source/cmake/FindGLES.cmake38
-rw-r--r--Source/cmake/FindGLIB.cmake64
-rw-r--r--Source/cmake/FindGStreamer.cmake107
-rw-r--r--Source/cmake/FindGTK3.cmake49
-rw-r--r--Source/cmake/FindGperf.cmake12
-rw-r--r--Source/cmake/FindHarfBuzz.cmake14
-rw-r--r--Source/cmake/FindICU.cmake93
-rw-r--r--Source/cmake/FindLibSeccomp.cmake46
-rw-r--r--Source/cmake/FindLibSoup.cmake10
-rw-r--r--Source/cmake/FindQuickTimeSDK.cmake14
-rw-r--r--Source/cmake/FindSqlite.cmake41
-rw-r--r--Source/cmake/FindWebP.cmake46
-rw-r--r--Source/cmake/FindXt.cmake49
-rw-r--r--Source/cmake/OptionsBlackBerry.cmake219
-rw-r--r--Source/cmake/OptionsCommon.cmake54
-rw-r--r--Source/cmake/OptionsEfl.cmake376
-rw-r--r--Source/cmake/OptionsGTK.cmake175
-rw-r--r--Source/cmake/OptionsWinCE.cmake37
-rw-r--r--Source/cmake/OptionsWindows.cmake27
-rw-r--r--Source/cmake/WebKitFS.cmake16
-rw-r--r--Source/cmake/WebKitFeatures.cmake130
-rw-r--r--Source/cmake/WebKitHelpers.cmake183
-rw-r--r--Source/cmake/WebKitMacros.cmake359
-rw-r--r--Source/cmake/WebKitPackaging.cmake304
-rw-r--r--Source/cmake/gtest/CMakeLists.txt20
46 files changed, 1830 insertions, 1150 deletions
diff --git a/Source/cmake/EFLHelpers.cmake b/Source/cmake/EFLHelpers.cmake
index bf8fbf416..39d4b5b38 100644
--- a/Source/cmake/EFLHelpers.cmake
+++ b/Source/cmake/EFLHelpers.cmake
@@ -35,38 +35,38 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(CMakeParseArguments)
+include(CMakeParseArguments)
-FUNCTION(FIND_EFL_LIBRARY _name)
+function(FIND_EFL_LIBRARY _name)
CMAKE_PARSE_ARGUMENTS(PARAM "" "LIBRARY" "HEADERS;HEADER_PREFIXES" ${ARGN})
- STRING(TOUPPER ${_name} _name_upper)
- SET(_version_found FALSE)
+ string(TOUPPER ${_name} _name_upper)
+ set(_version_found FALSE)
- FOREACH (_current_header ${PARAM_HEADERS})
- FIND_PATH(${_current_header}_INCLUDE_DIR NAMES ${_current_header} PATH_SUFFIXES ${PARAM_HEADER_PREFIXES})
- LIST(APPEND ${_name}_INCLUDE_DIRS "${${_current_header}_INCLUDE_DIR}")
+ foreach (_current_header ${PARAM_HEADERS})
+ find_path(${_current_header}_INCLUDE_DIR NAMES ${_current_header} PATH_SUFFIXES ${PARAM_HEADER_PREFIXES})
+ list(APPEND ${_name}_INCLUDE_DIRS "${${_current_header}_INCLUDE_DIR}")
- IF (NOT _version_found)
- SET (_header_path "${${_current_header}_INCLUDE_DIR}/${_current_header}")
- IF (EXISTS ${_header_path})
- FILE(READ "${_header_path}" _header_contents)
+ if (NOT _version_found)
+ set(_header_path "${${_current_header}_INCLUDE_DIR}/${_current_header}")
+ if (EXISTS ${_header_path})
+ file(READ "${_header_path}" _header_contents)
- STRING(REGEX MATCH "#define +${_name_upper}_VERSION_MAJOR +([0-9]+)" _dummy "${_header_contents}")
- SET(_version_major "${CMAKE_MATCH_1}")
- STRING(REGEX MATCH "#define +${_name_upper}_VERSION_MINOR +([0-9]+)" _dummy "${_header_contents}")
- SET(_version_minor "${CMAKE_MATCH_1}")
+ string(REGEX MATCH "#define +${_name_upper}_VERSION_MAJOR +([0-9]+)" _dummy "${_header_contents}")
+ set(_version_major "${CMAKE_MATCH_1}")
+ string(REGEX MATCH "#define +${_name_upper}_VERSION_MINOR +([0-9]+)" _dummy "${_header_contents}")
+ set(_version_minor "${CMAKE_MATCH_1}")
- IF (_version_major AND _version_minor)
- SET(_version_found TRUE)
- ENDIF ()
- ENDIF ()
- ENDIF ()
- ENDFOREACH ()
+ if (_version_major AND _version_minor)
+ set(_version_found TRUE)
+ endif ()
+ endif ()
+ endif ()
+ endforeach ()
- FIND_LIBRARY(${_name}_LIBRARIES NAMES ${PARAM_LIBRARY})
+ find_library(${_name}_LIBRARIES NAMES ${PARAM_LIBRARY})
- SET(${_name}_INCLUDE_DIRS ${${_name}_INCLUDE_DIRS} PARENT_SCOPE)
- SET(${_name}_LIBRARIES ${${_name}_LIBRARIES} PARENT_SCOPE)
- SET(${_name}_VERSION "${_version_major}.${_version_minor}" PARENT_SCOPE)
-ENDFUNCTION()
+ set(${_name}_INCLUDE_DIRS ${${_name}_INCLUDE_DIRS} PARENT_SCOPE)
+ set(${_name}_LIBRARIES ${${_name}_LIBRARIES} PARENT_SCOPE)
+ set(${_name}_VERSION "${_version_major}.${_version_minor}" PARENT_SCOPE)
+endfunction()
diff --git a/Source/cmake/FindATK.cmake b/Source/cmake/FindATK.cmake
index c58ba92bb..c895406a0 100644
--- a/Source/cmake/FindATK.cmake
+++ b/Source/cmake/FindATK.cmake
@@ -27,18 +27,22 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-FIND_PACKAGE(PkgConfig)
-PKG_CHECK_MODULES(PC_ATK atk)
+find_package(PkgConfig)
+pkg_check_modules(PC_ATK atk)
-FIND_PATH(ATK_INCLUDE_DIRS
+find_path(ATK_INCLUDE_DIRS
NAMES atk/atk.h
HINTS ${PC_ATK_INCLUDEDIR}
${PC_ATK_INCLUDE_DIRS}
PATH_SUFFIXES atk-1.0
)
-FIND_LIBRARY(ATK_LIBRARIES
+find_library(ATK_LIBRARIES
NAMES atk-1.0
HINTS ${PC_ATK_LIBRARY_DIRS}
${PC_ATK_LIBDIR}
)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ATK REQUIRED_VARS ATK_INCLUDE_DIRS ATK_LIBRARIES
+ VERSION_VAR PC_ATK_VERSION)
diff --git a/Source/cmake/FindCFLite.cmake b/Source/cmake/FindCFLite.cmake
index 4d60ec4c4..71e756838 100644
--- a/Source/cmake/FindCFLite.cmake
+++ b/Source/cmake/FindCFLite.cmake
@@ -5,14 +5,14 @@
# CFLITE_INCLUDE_DIR - The CFLite include directory
# CFLITE_LIBRARIES - The libraries needed to use CFLite
-FIND_PATH(CFLITE_INCLUDE_DIR NAMES CoreFoundation/CoreFoundation.h)
+find_path(CFLITE_INCLUDE_DIR NAMES CoreFoundation/CoreFoundation.h)
-FIND_LIBRARY(CFLITE_LIBRARIES NAMES CFLite.lib)
+find_library(CFLITE_LIBRARIES NAMES CFLite.lib)
-INCLUDE(FindPackageHandleStandardArgs)
+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)
+mark_as_advanced(CFLITE_INCLUDE_DIR CFLITE_LIBRARIES)
diff --git a/Source/cmake/FindCairo.cmake b/Source/cmake/FindCairo.cmake
index 1a768e323..ddc8de7fd 100644
--- a/Source/cmake/FindCairo.cmake
+++ b/Source/cmake/FindCairo.cmake
@@ -28,54 +28,54 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-FIND_PACKAGE(PkgConfig)
-PKG_CHECK_MODULES(PC_CAIRO cairo) # FIXME: After we require CMake 2.8.2 we can pass QUIET to this call.
+find_package(PkgConfig)
+pkg_check_modules(PC_CAIRO cairo) # FIXME: After we require CMake 2.8.2 we can pass QUIET to this call.
-FIND_PATH(CAIRO_INCLUDE_DIRS
+find_path(CAIRO_INCLUDE_DIRS
NAMES cairo.h
HINTS ${PC_CAIRO_INCLUDEDIR}
${PC_CAIRO_INCLUDE_DIRS}
PATH_SUFFIXES cairo
)
-FIND_LIBRARY(CAIRO_LIBRARIES
+find_library(CAIRO_LIBRARIES
NAMES cairo
HINTS ${PC_CAIRO_LIBDIR}
${PC_CAIRO_LIBRARY_DIRS}
)
-IF (CAIRO_INCLUDE_DIRS)
- IF (EXISTS "${CAIRO_INCLUDE_DIRS}/cairo-version.h")
- FILE(READ "${CAIRO_INCLUDE_DIRS}/cairo-version.h" CAIRO_VERSION_CONTENT)
+if (CAIRO_INCLUDE_DIRS)
+ if (EXISTS "${CAIRO_INCLUDE_DIRS}/cairo-version.h")
+ file(READ "${CAIRO_INCLUDE_DIRS}/cairo-version.h" CAIRO_VERSION_CONTENT)
- STRING(REGEX MATCH "#define +CAIRO_VERSION_MAJOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
- SET(CAIRO_VERSION_MAJOR "${CMAKE_MATCH_1}")
+ string(REGEX MATCH "#define +CAIRO_VERSION_MAJOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
+ set(CAIRO_VERSION_MAJOR "${CMAKE_MATCH_1}")
- STRING(REGEX MATCH "#define +CAIRO_VERSION_MINOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
- SET(CAIRO_VERSION_MINOR "${CMAKE_MATCH_1}")
+ string(REGEX MATCH "#define +CAIRO_VERSION_MINOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
+ set(CAIRO_VERSION_MINOR "${CMAKE_MATCH_1}")
- STRING(REGEX MATCH "#define +CAIRO_VERSION_MICRO +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
- SET(CAIRO_VERSION_MICRO "${CMAKE_MATCH_1}")
+ string(REGEX MATCH "#define +CAIRO_VERSION_MICRO +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
+ set(CAIRO_VERSION_MICRO "${CMAKE_MATCH_1}")
- SET(CAIRO_VERSION "${CAIRO_VERSION_MAJOR}.${CAIRO_VERSION_MINOR}.${CAIRO_VERSION_MICRO}")
- ENDIF ()
-ENDIF ()
+ set(CAIRO_VERSION "${CAIRO_VERSION_MAJOR}.${CAIRO_VERSION_MINOR}.${CAIRO_VERSION_MICRO}")
+ endif ()
+endif ()
# FIXME: Should not be needed anymore once we start depending on CMake 2.8.3
-SET(VERSION_OK TRUE)
-IF (Cairo_FIND_VERSION)
- IF (Cairo_FIND_VERSION_EXACT)
- IF ("${Cairo_FIND_VERSION}" VERSION_EQUAL "${CAIRO_VERSION}")
- # FIXME: Use IF (NOT ...) with CMake 2.8.2+ to get rid of the ELSE block
- ELSE ()
- SET(VERSION_OK FALSE)
- ENDIF ()
- ELSE ()
- IF ("${Cairo_FIND_VERSION}" VERSION_GREATER "${CAIRO_VERSION}")
- SET(VERSION_OK FALSE)
- ENDIF ()
- ENDIF ()
-ENDIF ()
+set(VERSION_OK TRUE)
+if (Cairo_FIND_VERSION)
+ if (Cairo_FIND_VERSION_EXACT)
+ if ("${Cairo_FIND_VERSION}" VERSION_EQUAL "${CAIRO_VERSION}")
+ # FIXME: Use if (NOT ...) with CMake 2.8.2+ to get rid of the ELSE block
+ else ()
+ set(VERSION_OK FALSE)
+ endif ()
+ else ()
+ if ("${Cairo_FIND_VERSION}" VERSION_GREATER "${CAIRO_VERSION}")
+ set(VERSION_OK FALSE)
+ endif ()
+ endif ()
+endif ()
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cairo DEFAULT_MSG CAIRO_INCLUDE_DIRS CAIRO_LIBRARIES VERSION_OK)
diff --git a/Source/cmake/FindDBus.cmake b/Source/cmake/FindDBus.cmake
index 4a1a18056..f4752e8cb 100644
--- a/Source/cmake/FindDBus.cmake
+++ b/Source/cmake/FindDBus.cmake
@@ -28,23 +28,23 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-FIND_PACKAGE(PkgConfig)
-PKG_CHECK_MODULES(PC_DBUS QUIET dbus-1)
+find_package(PkgConfig)
+pkg_check_modules(PC_DBUS QUIET dbus-1)
-FIND_LIBRARY(DBUS_LIBRARIES
+find_library(DBUS_LIBRARIES
NAMES dbus-1
HINTS ${PC_DBUS_LIBDIR}
${PC_DBUS_LIBRARY_DIRS}
)
-FIND_PATH(DBUS_INCLUDE_DIR
+find_path(DBUS_INCLUDE_DIR
NAMES dbus/dbus.h
HINTS ${PC_DBUS_INCLUDEDIR}
${PC_DBUS_INCLUDE_DIRS}
)
-GET_FILENAME_COMPONENT(_DBUS_LIBRARY_DIR ${DBUS_LIBRARIES} PATH)
-FIND_PATH(DBUS_ARCH_INCLUDE_DIR
+get_filename_component(_DBUS_LIBRARY_DIR ${DBUS_LIBRARIES} PATH)
+find_path(DBUS_ARCH_INCLUDE_DIR
NAMES dbus/dbus-arch-deps.h
HINTS ${PC_DBUS_INCLUDEDIR}
${PC_DBUS_INCLUDE_DIRS}
@@ -53,7 +53,7 @@ FIND_PATH(DBUS_ARCH_INCLUDE_DIR
PATH_SUFFIXES include
)
-SET(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR})
+set(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR})
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBUS REQUIRED_VARS DBUS_INCLUDE_DIRS DBUS_LIBRARIES)
diff --git a/Source/cmake/FindDirectX.cmake b/Source/cmake/FindDirectX.cmake
index 41787c968..7aac8d494 100644
--- a/Source/cmake/FindDirectX.cmake
+++ b/Source/cmake/FindDirectX.cmake
@@ -6,24 +6,24 @@
# DirectX_FOUND, If false, do not try to use DirectX.
# DirectX_ROOT_DIR, directory where DirectX was installed.
-FIND_PATH(DirectX_INCLUDE_DIRS d3d9.h PATHS
+find_path(DirectX_INCLUDE_DIRS d3d9.h PATHS
"$ENV{DXSDK_DIR}/Include"
"$ENV{PROGRAMFILES}/Microsoft DirectX SDK*/Include"
)
-GET_FILENAME_COMPONENT(DirectX_ROOT_DIR "${DirectX_INCLUDE_DIRS}/.." ABSOLUTE)
+get_filename_component(DirectX_ROOT_DIR "${DirectX_INCLUDE_DIRS}/.." ABSOLUTE)
-IF (CMAKE_CL_64)
- SET(DirectX_LIBRARY_PATHS "${DirectX_ROOT_DIR}/Lib/x64")
-ELSE ()
- SET(DirectX_LIBRARY_PATHS "${DirectX_ROOT_DIR}/Lib/x86" "${DirectX_ROOT_DIR}/Lib")
-ENDIF ()
+if (CMAKE_CL_64)
+ set(DirectX_LIBRARY_PATHS "${DirectX_ROOT_DIR}/Lib/x64")
+else ()
+ set(DirectX_LIBRARY_PATHS "${DirectX_ROOT_DIR}/Lib/x86" "${DirectX_ROOT_DIR}/Lib")
+endif ()
-FIND_LIBRARY(DirectX_D3D9_LIBRARY d3d9 ${DirectX_LIBRARY_PATHS} NO_DEFAULT_PATH)
-FIND_LIBRARY(DirectX_D3DX9_LIBRARY d3dx9 ${DirectX_LIBRARY_PATHS} NO_DEFAULT_PATH)
-SET(DirectX_LIBRARIES ${DirectX_D3D9_LIBRARY} ${DirectX_D3DX9_LIBRARY})
+find_library(DirectX_D3D9_LIBRARY d3d9 ${DirectX_LIBRARY_PATHS} NO_DEFAULT_PATH)
+find_library(DirectX_D3DX9_LIBRARY d3dx9 ${DirectX_LIBRARY_PATHS} NO_DEFAULT_PATH)
+set(DirectX_LIBRARIES ${DirectX_D3D9_LIBRARY} ${DirectX_D3DX9_LIBRARY})
# handle the QUIETLY and REQUIRED arguments and set DirectX_FOUND to TRUE if all listed variables are TRUE
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(DirectX DEFAULT_MSG DirectX_ROOT_DIR DirectX_LIBRARIES DirectX_INCLUDE_DIRS)
-MARK_AS_ADVANCED(DirectX_INCLUDE_DIRS DirectX_D3D9_LIBRARY DirectX_D3DX9_LIBRARY)
+mark_as_advanced(DirectX_INCLUDE_DIRS DirectX_D3D9_LIBRARY DirectX_D3DX9_LIBRARY)
diff --git a/Source/cmake/FindEGL.cmake b/Source/cmake/FindEGL.cmake
new file mode 100644
index 000000000..526c5ba08
--- /dev/null
+++ b/Source/cmake/FindEGL.cmake
@@ -0,0 +1,37 @@
+# - Try to Find EGL
+# Once done, this will define
+#
+# EGL_FOUND - system has EGL installed.
+# EGL_INCLUDE_DIR - directories which contain the EGL headers.
+# EGL_LIBRARY - libraries required to link against EGL.
+#
+# Copyright (C) 2012 Intel Corporation. All rights reserved.
+#
+# 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 above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``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 COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS 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.
+
+find_path(EGL_INCLUDE_DIR NAMES EGL/egl.h)
+
+set(EGL_NAMES ${EGL_NAMES} egl EGL)
+find_library(EGL_LIBRARY NAMES ${EGL_NAMES})
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIR EGL_LIBRARY)
diff --git a/Source/cmake/FindE_DBus.cmake b/Source/cmake/FindE_DBus.cmake
index 5a819987d..2b56242d2 100644
--- a/Source/cmake/FindE_DBus.cmake
+++ b/Source/cmake/FindE_DBus.cmake
@@ -5,7 +5,7 @@
# E_DBUS_INCLUDE_DIRS - directories which contain the E_DBus headers.
# E_DBUS_LIBRARIES - libraries required to link against E_DBus.
#
-# Optionally, the COMPONENTS keyword can be passed to FIND_PACKAGE()
+# Optionally, the COMPONENTS keyword can be passed to find_package()
# and additional E_DBus libraries can be looked for. Currently, the
# following libraries can be searched, and they define the following
# variables if found:
@@ -35,7 +35,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(EFLHelpers)
+include(EFLHelpers)
FIND_EFL_LIBRARY(E_DBUS
HEADERS E_DBus.h
@@ -50,13 +50,13 @@ FIND_EFL_LIBRARY(E_DBUS_EUKIT
LIBRARY eukit
)
-FOREACH(_component ${E_DBus_FIND_COMPONENTS})
- SET(_e_dbus_component "E_DBUS_${_component}")
- STRING(TOUPPER ${_e_dbus_component} _UPPER_NAME)
+foreach (_component ${E_DBus_FIND_COMPONENTS})
+ set(_e_dbus_component "E_DBUS_${_component}")
+ string(TOUPPER ${_e_dbus_component} _UPPER_NAME)
- LIST(APPEND _E_DBUS_REQUIRED_COMPONENT_VARS ${_UPPER_NAME}_INCLUDE_DIRS ${_UPPER_NAME}_LIBRARIES)
-ENDFOREACH()
+ list(APPEND _E_DBUS_REQUIRED_COMPONENT_VARS ${_UPPER_NAME}_INCLUDE_DIRS ${_UPPER_NAME}_LIBRARIES)
+endforeach ()
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(E_DBus REQUIRED_VARS E_DBUS_INCLUDE_DIRS E_DBUS_LIBRARIES ${_E_DBUS_REQUIRED_COMPONENT_VARS}
VERSION_VAR E_DBUS_VERSION)
diff --git a/Source/cmake/FindEcore.cmake b/Source/cmake/FindEcore.cmake
index 38bbf0fd8..a30863f8a 100644
--- a/Source/cmake/FindEcore.cmake
+++ b/Source/cmake/FindEcore.cmake
@@ -5,7 +5,7 @@
# ECORE_INCLUDE_DIRS - directories which contain the Ecore headers.
# ECORE_LIBRARIES - libraries required to link against Ecore.
#
-# Optionally, the COMPONENTS keyword can be passed to FIND_PACKAGE()
+# Optionally, the COMPONENTS keyword can be passed to find_package()
# and additional Ecore libraries can be looked for. Currently, the
# following libraries can be searched, and they define the following
# variables if found:
@@ -38,7 +38,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(EFLHelpers)
+include(EFLHelpers)
FIND_EFL_LIBRARY(ECORE
HEADERS Ecore.h
@@ -47,39 +47,46 @@ FIND_EFL_LIBRARY(ECORE
)
# Components.
+# Since EFL version 1.8, include path of Ecore sub modules have been changed
+# from ecore-1 to ecore-XXX-1
FIND_EFL_LIBRARY(ECORE_EVAS
HEADERS Ecore_Evas.h
- HEADER_PREFIXES ecore-1
+ HEADER_PREFIXES ecore-1 ecore-evas-1
LIBRARY ecore_evas
)
FIND_EFL_LIBRARY(ECORE_FILE
HEADERS Ecore_File.h
- HEADER_PREFIXES ecore-1
+ HEADER_PREFIXES ecore-1 ecore-file-1
LIBRARY ecore_file
)
FIND_EFL_LIBRARY(ECORE_INPUT
HEADERS Ecore_Input.h
- HEADER_PREFIXES ecore-1
+ HEADER_PREFIXES ecore-1 ecore-input-1
LIBRARY ecore_input
)
FIND_EFL_LIBRARY(ECORE_X
HEADERS Ecore_X.h
- HEADER_PREFIXES ecore-1
+ HEADER_PREFIXES ecore-1 ecore-x-1
LIBRARY ecore_x
)
FIND_EFL_LIBRARY(ECORE_IMF
- HEADERS Ecore_IMF.h Ecore_IMF_Evas.h
- HEADER_PREFIXES ecore-1
+ HEADERS Ecore_IMF.h
+ HEADER_PREFIXES ecore-1 ecore-imf-1
LIBRARY ecore_imf
)
+FIND_EFL_LIBRARY(ECORE_IMF_EVAS
+ HEADERS Ecore_IMF_Evas.h
+ HEADER_PREFIXES ecore-1 ecore-imf-evas-1
+ LIBRARY ecore_imf_evas
+)
-FOREACH(_component ${Ecore_FIND_COMPONENTS})
- SET(_ecore_component "ECORE_${_component}")
- STRING(TOUPPER ${_ecore_component} _UPPER_NAME)
+foreach (_component ${Ecore_FIND_COMPONENTS})
+ set(_ecore_component "ECORE_${_component}")
+ string(TOUPPER ${_ecore_component} _UPPER_NAME)
- LIST(APPEND _ECORE_REQUIRED_COMPONENT_VARS ${_UPPER_NAME}_INCLUDE_DIRS ${_UPPER_NAME}_LIBRARIES)
-ENDFOREACH()
+ list(APPEND _ECORE_REQUIRED_COMPONENT_VARS ${_UPPER_NAME}_INCLUDE_DIRS ${_UPPER_NAME}_LIBRARIES)
+endforeach ()
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ecore REQUIRED_VARS ECORE_INCLUDE_DIRS ECORE_LIBRARIES ${_ECORE_REQUIRED_COMPONENT_VARS}
VERSION_VAR ECORE_VERSION)
diff --git a/Source/cmake/FindEdje.cmake b/Source/cmake/FindEdje.cmake
index 01ff8d819..509b5a1ac 100644
--- a/Source/cmake/FindEdje.cmake
+++ b/Source/cmake/FindEdje.cmake
@@ -29,7 +29,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(EFLHelpers)
+include(EFLHelpers)
FIND_EFL_LIBRARY(EDJE
HEADERS Edje.h
@@ -37,10 +37,10 @@ FIND_EFL_LIBRARY(EDJE
LIBRARY edje
)
-FIND_PROGRAM(EDJE_CC_EXECUTABLE
+find_program(EDJE_CC_EXECUTABLE
NAMES edje_cc
)
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Edje REQUIRED_VARS EDJE_INCLUDE_DIRS EDJE_LIBRARIES EDJE_CC_EXECUTABLE
VERSION_VAR EDJE_VERSION)
diff --git a/Source/cmake/FindEet.cmake b/Source/cmake/FindEet.cmake
index fbbfc5fa6..51abd12a7 100644
--- a/Source/cmake/FindEet.cmake
+++ b/Source/cmake/FindEet.cmake
@@ -28,7 +28,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(EFLHelpers)
+include(EFLHelpers)
FIND_EFL_LIBRARY(EET
HEADERS Eet.h
@@ -36,6 +36,6 @@ FIND_EFL_LIBRARY(EET
LIBRARY eet
)
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Eet REQUIRED_VARS EET_INCLUDE_DIRS EET_LIBRARIES
VERSION_VAR EET_VERSION)
diff --git a/Source/cmake/FindEeze.cmake b/Source/cmake/FindEeze.cmake
index 93edc4862..d92ac336b 100644
--- a/Source/cmake/FindEeze.cmake
+++ b/Source/cmake/FindEeze.cmake
@@ -28,7 +28,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(EFLHelpers)
+include(EFLHelpers)
FIND_EFL_LIBRARY(EEZE
HEADERS Eeze.h
@@ -36,6 +36,6 @@ FIND_EFL_LIBRARY(EEZE
LIBRARY eeze
)
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Eeze REQUIRED_VARS EEZE_INCLUDE_DIRS EEZE_LIBRARIES
VERSION_VAR EEZE_VERSION)
diff --git a/Source/cmake/FindEfreet.cmake b/Source/cmake/FindEfreet.cmake
index 22d704b29..9e67a7b9f 100644
--- a/Source/cmake/FindEfreet.cmake
+++ b/Source/cmake/FindEfreet.cmake
@@ -28,7 +28,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(EFLHelpers)
+include(EFLHelpers)
FIND_EFL_LIBRARY(EFREET
HEADERS Efreet.h
@@ -36,6 +36,6 @@ FIND_EFL_LIBRARY(EFREET
LIBRARY efreet
)
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Efreet REQUIRED_VARS EFREET_INCLUDE_DIRS EFREET_LIBRARIES
VERSION_VAR EFREET_VERSION)
diff --git a/Source/cmake/FindEina.cmake b/Source/cmake/FindEina.cmake
index 5ac94800c..8f9a87755 100644
--- a/Source/cmake/FindEina.cmake
+++ b/Source/cmake/FindEina.cmake
@@ -28,7 +28,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(EFLHelpers)
+include(EFLHelpers)
FIND_EFL_LIBRARY(EINA
HEADERS Eina.h eina_main.h
@@ -36,6 +36,6 @@ FIND_EFL_LIBRARY(EINA
LIBRARY eina
)
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Eina REQUIRED_VARS EINA_INCLUDE_DIRS EINA_LIBRARIES
VERSION_VAR EINA_VERSION)
diff --git a/Source/cmake/FindElementary.cmake b/Source/cmake/FindElementary.cmake
index 455ca78f0..ae1d9c2f5 100644
--- a/Source/cmake/FindElementary.cmake
+++ b/Source/cmake/FindElementary.cmake
@@ -28,7 +28,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(EFLHelpers)
+include(EFLHelpers)
FIND_EFL_LIBRARY(ELEMENTARY
HEADERS Elementary.h
@@ -36,6 +36,13 @@ FIND_EFL_LIBRARY(ELEMENTARY
LIBRARY elementary
)
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Elementary REQUIRED_VARS ELEMENTARY_INCLUDE_DIRS ELEMENTARY_LIBRARIES
+# Ecore_Con is required by not WebKit/Efl but Elementary.
+FIND_EFL_LIBRARY(ECORE_CON
+ HEADERS Ecore_Con.h
+ HEADER_PREFIXES ecore-1 ecore-con-1
+ LIBRARY ecore_con
+)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Elementary REQUIRED_VARS ELEMENTARY_INCLUDE_DIRS ELEMENTARY_LIBRARIES ECORE_CON_INCLUDE_DIRS ECORE_CON_LIBRARIES
VERSION_VAR ELM_VERSION)
diff --git a/Source/cmake/FindEnchant.cmake b/Source/cmake/FindEnchant.cmake
index d69c71c0f..929979ed6 100644
--- a/Source/cmake/FindEnchant.cmake
+++ b/Source/cmake/FindEnchant.cmake
@@ -27,16 +27,16 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-FIND_PACKAGE(PkgConfig)
-PKG_CHECK_MODULES(PC_ENCHANT enchant)
+find_package(PkgConfig)
+pkg_check_modules(PC_ENCHANT enchant)
-FIND_PATH(ENCHANT_INCLUDE_DIRS
+find_path(ENCHANT_INCLUDE_DIRS
NAMES enchant.h
PATHS ${PC_ENCHANT_INCLUDEDIR}
${PC_ENCHANT_INCLUDE_DIRS}
)
-FIND_LIBRARY(ENCHANT_LIBRARIES
+find_library(ENCHANT_LIBRARIES
NAMES enchant
PATHS ${PC_ENCHANT_LIBDIR}
${PC_ENCHANT_LIBRARY_DIRS}
diff --git a/Source/cmake/FindEo.cmake b/Source/cmake/FindEo.cmake
new file mode 100644
index 000000000..59714d1e0
--- /dev/null
+++ b/Source/cmake/FindEo.cmake
@@ -0,0 +1,41 @@
+# - Try to find Eo
+# Once done, this will define
+#
+# EO_FOUND - system has Eo installed.
+# EO_INCLUDE_DIRS - directories which contain the Eo headers.
+# EO_LIBRARIES - libraries required to link against Eo.
+#
+# Copyright (C) 2012 Samsung Electronics.
+#
+# 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 above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``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 COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS 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(EFLHelpers)
+
+FIND_EFL_LIBRARY(EO
+ HEADERS Eo.h
+ HEADER_PREFIXES eo-1
+ LIBRARY eo
+)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Eo REQUIRED_VARS EO_INCLUDE_DIRS EO_LIBRARIES
+ VERSION_VAR EO_VERSION)
diff --git a/Source/cmake/FindEvas.cmake b/Source/cmake/FindEvas.cmake
index ce75eae0a..6125781fe 100644
--- a/Source/cmake/FindEvas.cmake
+++ b/Source/cmake/FindEvas.cmake
@@ -28,7 +28,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-INCLUDE(EFLHelpers)
+include(EFLHelpers)
FIND_EFL_LIBRARY(EVAS
HEADERS Evas.h
@@ -36,6 +36,6 @@ FIND_EFL_LIBRARY(EVAS
LIBRARY evas
)
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Evas REQUIRED_VARS EVAS_INCLUDE_DIRS EVAS_LIBRARIES
VERSION_VAR EVAS_VERSION)
diff --git a/Source/cmake/FindFontconfig.cmake b/Source/cmake/FindFontconfig.cmake
index e6fa81d8e..2ed605d73 100644
--- a/Source/cmake/FindFontconfig.cmake
+++ b/Source/cmake/FindFontconfig.cmake
@@ -17,7 +17,7 @@
# 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
+# 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
@@ -34,36 +34,36 @@
if (FONTCONFIG_LIBRARIES AND FONTCONFIG_INCLUDE_DIR)
- # in cache already
- set(FONTCONFIG_FOUND TRUE)
+ # 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)
+ 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)
+ 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_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}
- )
+ 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)
+ 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/FindGAIL3.cmake b/Source/cmake/FindGAIL3.cmake
new file mode 100644
index 000000000..9a2edd321
--- /dev/null
+++ b/Source/cmake/FindGAIL3.cmake
@@ -0,0 +1,48 @@
+# - Try to find GAIL 3.
+# Once done, this will define
+#
+# GAIL3_FOUND - system has GAIL 3
+# GAIL3_INCLUDE_DIRS - the GAIL 3 include directories
+# GAIL3_LIBRARIES - link these to use GAIL 3
+#
+# Copyright (C) 2013 Igalia S.L.
+#
+# 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 above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``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 COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS 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.
+
+find_package(PkgConfig)
+pkg_check_modules(GAIL3 gail-3.0)
+
+set(VERSION_OK TRUE)
+if (GAIL3_VERSION)
+ if (GAIL3_FIND_VERSION_EXACT)
+ if (NOT("${GAIL3_FIND_VERSION}" VERSION_EQUAL "${GAIL3_VERSION}"))
+ set(VERSION_OK FALSE)
+ endif ()
+ else ()
+ if ("${GAIL3_VERSION}" VERSION_LESS "${GAIL3_FIND_VERSION}")
+ set(VERSION_OK FALSE)
+ endif ()
+ endif ()
+endif ()
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GAIL3 DEFAULT_MSG GAIL3_INCLUDE_DIRS GAIL3_LIBRARIES VERSION_OK)
diff --git a/Source/cmake/FindGDK3.cmake b/Source/cmake/FindGDK3.cmake
new file mode 100644
index 000000000..801656381
--- /dev/null
+++ b/Source/cmake/FindGDK3.cmake
@@ -0,0 +1,49 @@
+# - Try to find GDK 3
+# Once done, this will define
+#
+# GDK3_FOUND - system has GDK 3
+# GDK3_INCLUDE_DIRS - the GDK 3 include directories
+# GDK3_LIBRARIES - link these to use GDK 3
+#
+# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
+# Copyright (C) 2013 Igalia S.L.
+#
+# 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 above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``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 COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS 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.
+
+find_package(PkgConfig)
+pkg_check_modules(GDK3 gdk-3.0)
+
+set(VERSION_OK TRUE)
+if (GDK3_VERSION)
+ if (GDK3_FIND_VERSION_EXACT)
+ if (NOT("${GDK3_FIND_VERSION}" VERSION_EQUAL "${GDK3_VERSION}"))
+ set(VERSION_OK FALSE)
+ endif ()
+ else ()
+ if ("${GDK3_VERSION}" VERSION_LESS "${GDK3_FIND_VERSION}")
+ set(VERSION_OK FALSE)
+ endif ()
+ endif ()
+endif ()
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GDK3 DEFAULT_MSG GDK3_INCLUDE_DIRS GDK3_LIBRARIES VERSION_OK)
diff --git a/Source/cmake/FindGLES.cmake b/Source/cmake/FindGLES.cmake
new file mode 100644
index 000000000..1f8daebe6
--- /dev/null
+++ b/Source/cmake/FindGLES.cmake
@@ -0,0 +1,38 @@
+# - Try to find OpenGLES
+# Once done this will define
+#
+# OPENGLES2_FOUND - system has OpenGLESv2 installed.
+# OPENGLES2_INCLUDE_DIR - directories which contain the OpenGlEsv2 headers.
+# OPENGLES2_LIBRARIES - libraries required to link against OpenGLESv2
+#
+# Copyright (C) 2012 Intel Corporation. All rights reserved.
+#
+# 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 above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``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 COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS 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.
+
+find_path(OPENGLES2_INCLUDE_DIR NAMES GLES2/gl2.h)
+
+find_library(OPENGLES2_LIBRARY NAMES GLESv2)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OPENGLES2 DEFAULT_MSG OPENGLES2_INCLUDE_DIR OPENGLES2_LIBRARY)
+
+mark_as_advanced(OPENGLES2_INCLUDE_DIR OPENGLES2_LIBRARY)
diff --git a/Source/cmake/FindGLIB.cmake b/Source/cmake/FindGLIB.cmake
index 656aa0b7d..182e37b86 100644
--- a/Source/cmake/FindGLIB.cmake
+++ b/Source/cmake/FindGLIB.cmake
@@ -5,7 +5,7 @@
# GLIB_INCLUDE_DIRS - the Glib include directories
# GLIB_LIBRARIES - link these to use Glib
#
-# Optionally, the COMPONENTS keyword can be passed to FIND_PACKAGE()
+# Optionally, the COMPONENTS keyword can be passed to find_package()
# and Glib components can be looked for. Currently, the following
# components can be used, and they define the following variables if
# found:
@@ -41,10 +41,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-FIND_PACKAGE(PkgConfig)
-PKG_CHECK_MODULES(PC_GLIB QUIET glib-2.0)
+find_package(PkgConfig)
+pkg_check_modules(PC_GLIB QUIET glib-2.0)
-FIND_LIBRARY(GLIB_LIBRARIES
+find_library(GLIB_LIBRARIES
NAMES glib-2.0
HINTS ${PC_GLIB_LIBDIR}
${PC_GLIB_LIBRARY_DIRS}
@@ -52,51 +52,51 @@ FIND_LIBRARY(GLIB_LIBRARIES
# Files in glib's main include path may include glibconfig.h, which,
# for some odd reason, is normally in $LIBDIR/glib-2.0/include.
-GET_FILENAME_COMPONENT(_GLIB_LIBRARY_DIR ${GLIB_LIBRARIES} PATH)
-FIND_PATH(GLIBCONFIG_INCLUDE_DIR
+get_filename_component(_GLIB_LIBRARY_DIR ${GLIB_LIBRARIES} PATH)
+find_path(GLIBCONFIG_INCLUDE_DIR
NAMES glibconfig.h
HINTS ${PC_LIBDIR} ${PC_LIBRARY_DIRS} ${_GLIB_LIBRARY_DIR}
PATH_SUFFIXES glib-2.0/include
)
-FIND_PATH(GLIB_INCLUDE_DIR
+find_path(GLIB_INCLUDE_DIR
NAMES glib.h
HINTS ${PC_GLIB_INCLUDEDIR}
${PC_GLIB_INCLUDE_DIRS}
PATH_SUFFIXES glib-2.0
)
-SET(GLIB_INCLUDE_DIRS ${GLIB_INCLUDE_DIR} ${GLIBCONFIG_INCLUDE_DIR})
+set(GLIB_INCLUDE_DIRS ${GLIB_INCLUDE_DIR} ${GLIBCONFIG_INCLUDE_DIR})
# Version detection
-FILE(READ "${GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" GLIBCONFIG_H_CONTENTS)
-STRING(REGEX MATCH "#define GLIB_MAJOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
-SET(GLIB_VERSION_MAJOR "${CMAKE_MATCH_1}")
-STRING(REGEX MATCH "#define GLIB_MINOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
-SET(GLIB_VERSION_MINOR "${CMAKE_MATCH_1}")
-STRING(REGEX MATCH "#define GLIB_MICRO_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
-SET(GLIB_VERSION_MICRO "${CMAKE_MATCH_1}")
-SET(GLIB_VERSION "${GLIB_VERSION_MAJOR}.${GLIB_VERSION_MINOR}.${GLIB_VERSION_MICRO}")
+file(READ "${GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" GLIBCONFIG_H_CONTENTS)
+string(REGEX MATCH "#define GLIB_MAJOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
+set(GLIB_VERSION_MAJOR "${CMAKE_MATCH_1}")
+string(REGEX MATCH "#define GLIB_MINOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
+set(GLIB_VERSION_MINOR "${CMAKE_MATCH_1}")
+string(REGEX MATCH "#define GLIB_MICRO_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
+set(GLIB_VERSION_MICRO "${CMAKE_MATCH_1}")
+set(GLIB_VERSION "${GLIB_VERSION_MAJOR}.${GLIB_VERSION_MINOR}.${GLIB_VERSION_MICRO}")
# Additional Glib components. We only look for libraries, as not all of them
# have corresponding headers and all headers are installed alongside the main
# glib ones.
-FOREACH (_component ${GLIB_FIND_COMPONENTS})
- IF (${_component} STREQUAL "gio")
- FIND_LIBRARY(GLIB_GIO_LIBRARIES NAMES gio-2.0 HINTS ${_GLIB_LIBRARY_DIR})
- SET(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GIO_LIBRARIES)
- ELSEIF (${_component} STREQUAL "gobject")
- FIND_LIBRARY(GLIB_GOBJECT_LIBRARIES NAMES gobject-2.0 HINTS ${_GLIB_LIBRARY_DIR})
- SET(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GOBJECT_LIBRARIES)
- ELSEIF (${_component} STREQUAL "gmodule")
- FIND_LIBRARY(GLIB_GMODULE_LIBRARIES NAMES gmodule-2.0 HINTS ${_GLIB_LIBRARY_DIR})
- SET(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GMODULE_LIBRARIES)
- ELSEIF (${_component} STREQUAL "gthread")
- FIND_LIBRARY(GLIB_GTHREAD_LIBRARIES NAMES gthread-2.0 HINTS ${_GLIB_LIBRARY_DIR})
- SET(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GTHREAD_LIBRARIES)
- ENDIF ()
-ENDFOREACH ()
+foreach (_component ${GLIB_FIND_COMPONENTS})
+ if (${_component} STREQUAL "gio")
+ find_library(GLIB_GIO_LIBRARIES NAMES gio-2.0 HINTS ${_GLIB_LIBRARY_DIR})
+ set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GIO_LIBRARIES)
+ elseif (${_component} STREQUAL "gobject")
+ find_library(GLIB_GOBJECT_LIBRARIES NAMES gobject-2.0 HINTS ${_GLIB_LIBRARY_DIR})
+ set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GOBJECT_LIBRARIES)
+ elseif (${_component} STREQUAL "gmodule")
+ find_library(GLIB_GMODULE_LIBRARIES NAMES gmodule-2.0 HINTS ${_GLIB_LIBRARY_DIR})
+ set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GMODULE_LIBRARIES)
+ elseif (${_component} STREQUAL "gthread")
+ find_library(GLIB_GTHREAD_LIBRARIES NAMES gthread-2.0 HINTS ${_GLIB_LIBRARY_DIR})
+ set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GTHREAD_LIBRARIES)
+ endif ()
+endforeach ()
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLIB REQUIRED_VARS GLIB_INCLUDE_DIRS GLIB_LIBRARIES ${ADDITIONAL_REQUIRED_VARS}
VERSION_VAR GLIB_VERSION)
diff --git a/Source/cmake/FindGStreamer.cmake b/Source/cmake/FindGStreamer.cmake
index 542ebacb1..c7ab9530a 100644
--- a/Source/cmake/FindGStreamer.cmake
+++ b/Source/cmake/FindGStreamer.cmake
@@ -11,7 +11,7 @@
# GSTREAMER_BASE_INCLUDE_DIRS - gstreamer-base's include directory
# GSTREAMER_BASE_LIBRARIES - link to these to use gstreamer-base
#
-# Optionally, the COMPONENTS keyword can be passed to FIND_PACKAGE()
+# Optionally, the COMPONENTS keyword can be passed to find_package()
# and GStreamer plugins can be looked for. Currently, the following
# plugins can be searched, and they define the following variables if
# found:
@@ -19,7 +19,6 @@
# gstreamer-app: GSTREAMER_APP_INCLUDE_DIRS and GSTREAMER_APP_LIBRARIES
# gstreamer-audio: GSTREAMER_AUDIO_INCLUDE_DIRS and GSTREAMER_AUDIO_LIBRARIES
# gstreamer-fft: GSTREAMER_FFT_INCLUDE_DIRS and GSTREAMER_FFT_LIBRARIES
-# gstreamer-interfaces: GSTREAMER_INTERFACES_INCLUDE_DIRS and GSTREAMER_INTERFACES_LIBRARIES
# gstreamer-pbutils: GSTREAMER_PBUTILS_INCLUDE_DIRS and GSTREAMER_PBUTILS_LIBRARIES
# gstreamer-video: GSTREAMER_VIDEO_INCLUDE_DIRS and GSTREAMER_VIDEO_LIBRARIES
#
@@ -46,87 +45,89 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-FIND_PACKAGE(PkgConfig)
-
-# The minimum GStreamer version we support.
-SET(GSTREAMER_MINIMUM_VERSION 0.10.30)
+find_package(PkgConfig)
# Helper macro to find a GStreamer plugin (or GStreamer itself)
# _component_prefix is prepended to the _INCLUDE_DIRS and _LIBRARIES variables (eg. "GSTREAMER_AUDIO")
-# _pkgconfig_name is the component's pkg-config name (eg. "gstreamer-0.10", or "gstreamer-video-0.10").
-# _header is the component's header, relative to the gstreamer-0.10 directory (eg. "gst/gst.h").
-# _library is the component's library name (eg. "gstreamer-0.10" or "gstvideo-0.10")
-MACRO(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _header _library)
+# _pkgconfig_name is the component's pkg-config name (eg. "gstreamer-1.0", or "gstreamer-video-1.0").
+# _header is the component's header, relative to the gstreamer-1.0 directory (eg. "gst/gst.h").
+# _library is the component's library name (eg. "gstreamer-1.0" or "gstvideo-1.0")
+macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _header _library)
# FIXME: The QUIET keyword can be used once we require CMake 2.8.2.
- PKG_CHECK_MODULES(PC_${_component_prefix} ${_pkgconfig_name})
+ pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name})
- FIND_PATH(${_component_prefix}_INCLUDE_DIRS
+ find_path(${_component_prefix}_INCLUDE_DIRS
NAMES ${_header}
HINTS ${PC_${_component_prefix}_INCLUDE_DIRS} ${PC_${_component_prefix}_INCLUDEDIR}
- PATH_SUFFIXES gstreamer-0.10
+ PATH_SUFFIXES gstreamer-1.0
)
- FIND_LIBRARY(${_component_prefix}_LIBRARIES
+ find_library(${_component_prefix}_LIBRARIES
NAMES ${_library}
HINTS ${PC_${_component_prefix}_LIBRARY_DIRS} ${PC_${_component_prefix}_LIBDIR}
)
-ENDMACRO()
+endmacro()
# ------------------------
# 1. Find GStreamer itself
# ------------------------
# 1.1. Find headers and libraries
-FIND_GSTREAMER_COMPONENT(GSTREAMER gstreamer-0.10 gst/gst.h gstreamer-0.10)
-FIND_GSTREAMER_COMPONENT(GSTREAMER_BASE gstreamer-base-0.10 gst/gst.h gstbase-0.10)
+FIND_GSTREAMER_COMPONENT(GSTREAMER gstreamer-1.0 gst/gst.h gstreamer-1.0)
+FIND_GSTREAMER_COMPONENT(GSTREAMER_BASE gstreamer-base-1.0 gst/gst.h gstbase-1.0)
# 1.2. Check GStreamer version
-IF (GSTREAMER_INCLUDE_DIRS)
- IF (EXISTS "${GSTREAMER_INCLUDE_DIRS}/gst/gstversion.h")
- FILE (READ "${GSTREAMER_INCLUDE_DIRS}/gst/gstversion.h" GSTREAMER_VERSION_CONTENTS)
-
- STRING(REGEX MATCH "#define +GST_VERSION_MAJOR +\\(([0-9]+)\\)" _dummy "${GSTREAMER_VERSION_CONTENTS}")
- SET(GSTREAMER_VERSION_MAJOR "${CMAKE_MATCH_1}")
-
- STRING(REGEX MATCH "#define +GST_VERSION_MINOR +\\(([0-9]+)\\)" _dummy "${GSTREAMER_VERSION_CONTENTS}")
- SET(GSTREAMER_VERSION_MINOR "${CMAKE_MATCH_1}")
-
- STRING(REGEX MATCH "#define +GST_VERSION_MICRO +\\(([0-9]+)\\)" _dummy "${GSTREAMER_VERSION_CONTENTS}")
- SET(GSTREAMER_VERSION_MICRO "${CMAKE_MATCH_1}")
-
- SET(GSTREAMER_VERSION "${GSTREAMER_VERSION_MAJOR}.${GSTREAMER_VERSION_MINOR}.${GSTREAMER_VERSION_MICRO}")
- ENDIF ()
-ENDIF ()
-
-# FIXME: With CMake 2.8.3 we can just pass GSTREAMER_VERSION to FIND_PACKAGE_HANDLE_STARNDARD_ARGS as VERSION_VAR
-# and remove the version check here (GSTREAMER_MINIMUM_VERSION would be passed to FIND_PACKAGE).
-SET(VERSION_OK TRUE)
-IF ("${GSTREAMER_VERSION}" VERSION_LESS "${GSTREAMER_MINIMUM_VERSION}")
- SET(VERSION_OK FALSE)
-ENDIF ()
+if (GSTREAMER_INCLUDE_DIRS)
+ if (EXISTS "${GSTREAMER_INCLUDE_DIRS}/gst/gstversion.h")
+ file(READ "${GSTREAMER_INCLUDE_DIRS}/gst/gstversion.h" GSTREAMER_VERSION_CONTENTS)
+
+ string(REGEX MATCH "#define +GST_VERSION_MAJOR +\\(([0-9]+)\\)" _dummy "${GSTREAMER_VERSION_CONTENTS}")
+ set(GSTREAMER_VERSION_MAJOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define +GST_VERSION_MINOR +\\(([0-9]+)\\)" _dummy "${GSTREAMER_VERSION_CONTENTS}")
+ set(GSTREAMER_VERSION_MINOR "${CMAKE_MATCH_1}")
+
+ string(REGEX MATCH "#define +GST_VERSION_MICRO +\\(([0-9]+)\\)" _dummy "${GSTREAMER_VERSION_CONTENTS}")
+ set(GSTREAMER_VERSION_MICRO "${CMAKE_MATCH_1}")
+
+ set(GSTREAMER_VERSION "${GSTREAMER_VERSION_MAJOR}.${GSTREAMER_VERSION_MINOR}.${GSTREAMER_VERSION_MICRO}")
+ endif ()
+endif ()
+
+# FIXME: With CMake 2.8.3 we can just pass GSTREAMER_VERSION to FIND_PACKAGE_HANDLE_STANDARD_ARGS as VERSION_VAR
+# and remove the version check here (GSTREAMER_FIND_VERSION would be passed to FIND_PACKAGE).
+set(VERSION_OK TRUE)
+if (GSTREAMER_FIND_VERSION_EXACT)
+ if (NOT(("${GSTREAMER_FIND_VERSION}" VERSION_EQUAL "${GSTREAMER_VERSION}")))
+ set(VERSION_OK FALSE)
+ endif ()
+else ()
+ if ("${GSTREAMER_VERSION}" VERSION_LESS "${GSTREAMER_FIND_VERSION}")
+ set(VERSION_OK FALSE)
+ endif ()
+endif ()
# -------------------------
# 2. Find GStreamer plugins
# -------------------------
-FIND_GSTREAMER_COMPONENT(GSTREAMER_APP gstreamer-app-0.10 gst/app/gstappsink.h gstapp-0.10)
-FIND_GSTREAMER_COMPONENT(GSTREAMER_AUDIO gstreamer-audio-0.10 gst/audio/audio.h gstaudio-0.10)
-FIND_GSTREAMER_COMPONENT(GSTREAMER_FFT gstreamer-fft-0.10 gst/fft/gstfft.h gstfft-0.10)
-FIND_GSTREAMER_COMPONENT(GSTREAMER_INTERFACES gstreamer-interfaces-0.10 gst/interfaces/mixer.h gstinterfaces-0.10)
-FIND_GSTREAMER_COMPONENT(GSTREAMER_PBUTILS gstreamer-pbutils-0.10 gst/pbutils/pbutils.h gstpbutils-0.10)
-FIND_GSTREAMER_COMPONENT(GSTREAMER_VIDEO gstreamer-video-0.10 gst/video/video.h gstvideo-0.10)
+FIND_GSTREAMER_COMPONENT(GSTREAMER_APP gstreamer-app-1.0 gst/app/gstappsink.h gstapp-1.0)
+FIND_GSTREAMER_COMPONENT(GSTREAMER_AUDIO gstreamer-audio-1.0 gst/audio/audio.h gstaudio-1.0)
+FIND_GSTREAMER_COMPONENT(GSTREAMER_FFT gstreamer-fft-1.0 gst/fft/gstfft.h gstfft-1.0)
+FIND_GSTREAMER_COMPONENT(GSTREAMER_PBUTILS gstreamer-pbutils-1.0 gst/pbutils/pbutils.h gstpbutils-1.0)
+FIND_GSTREAMER_COMPONENT(GSTREAMER_VIDEO gstreamer-video-1.0 gst/video/video.h gstvideo-1.0)
# ------------------------------------------------
# 3. Process the COMPONENTS passed to FIND_PACKAGE
# ------------------------------------------------
-SET(_GSTREAMER_REQUIRED_VARS GSTREAMER_INCLUDE_DIRS GSTREAMER_LIBRARIES VERSION_OK GSTREAMER_BASE_INCLUDE_DIRS GSTREAMER_BASE_LIBRARIES)
+set(_GSTREAMER_REQUIRED_VARS GSTREAMER_INCLUDE_DIRS GSTREAMER_LIBRARIES VERSION_OK GSTREAMER_BASE_INCLUDE_DIRS GSTREAMER_BASE_LIBRARIES)
-FOREACH(_component ${GStreamer_FIND_COMPONENTS})
- SET(_gst_component "GSTREAMER_${_component}")
- STRING(TOUPPER ${_gst_component} _UPPER_NAME)
+foreach (_component ${GStreamer_FIND_COMPONENTS})
+ set(_gst_component "GSTREAMER_${_component}")
+ string(TOUPPER ${_gst_component} _UPPER_NAME)
- LIST(APPEND _GSTREAMER_REQUIRED_VARS ${_UPPER_NAME}_INCLUDE_DIRS ${_UPPER_NAME}_LIBRARIES)
-ENDFOREACH()
+ list(APPEND _GSTREAMER_REQUIRED_VARS ${_UPPER_NAME}_INCLUDE_DIRS ${_UPPER_NAME}_LIBRARIES)
+endforeach ()
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GStreamer DEFAULT_MSG ${_GSTREAMER_REQUIRED_VARS})
diff --git a/Source/cmake/FindGTK3.cmake b/Source/cmake/FindGTK3.cmake
new file mode 100644
index 000000000..cfa578467
--- /dev/null
+++ b/Source/cmake/FindGTK3.cmake
@@ -0,0 +1,49 @@
+# - Try to find GTK+ 3
+# Once done, this will define
+#
+# GTK3_FOUND - system has GTK+ 3.
+# GTK3_INCLUDE_DIRS - the GTK+ 3. include directories
+# GTK3_LIBRARIES - link these to use GTK+ 3.
+#
+# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
+# Copyright (C) 2013 Igalia S.L.
+#
+# 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 above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``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 COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS 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.
+
+find_package(PkgConfig)
+pkg_check_modules(GTK3 gtk+-3.0)
+
+set(VERSION_OK TRUE)
+if (GTK3_VERSION)
+ if (GTK3_FIND_VERSION_EXACT)
+ if (NOT("${GTK3_FIND_VERSION}" VERSION_EQUAL "${GTK3_VERSION}"))
+ set(VERSION_OK FALSE)
+ endif ()
+ else ()
+ if ("${GTK3_VERSION}" VERSION_LESS "${GTK3_FIND_VERSION}")
+ set(VERSION_OK FALSE)
+ endif ()
+ endif ()
+endif ()
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK3 DEFAULT_MSG GTK3_INCLUDE_DIRS GTK3_LIBRARIES VERSION_OK)
diff --git a/Source/cmake/FindGperf.cmake b/Source/cmake/FindGperf.cmake
index 0e5391216..0574d32fa 100644
--- a/Source/cmake/FindGperf.cmake
+++ b/Source/cmake/FindGperf.cmake
@@ -1,19 +1,19 @@
# - Find gperf
-# This module looks for gperf. This module defines the
+# 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)
+include(FindCygwin)
-FIND_PROGRAM(GPERF_EXECUTABLE
+find_program(GPERF_EXECUTABLE
gperf
${CYGWIN_INSTALL_PATH}/bin
)
-# handle the QUIETLY and REQUIRED arguments and set GPERF_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set GPERF_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Gperf DEFAULT_MSG GPERF_EXECUTABLE)
-MARK_AS_ADVANCED(GPERF_EXECUTABLE)
+mark_as_advanced(GPERF_EXECUTABLE)
diff --git a/Source/cmake/FindHarfBuzz.cmake b/Source/cmake/FindHarfBuzz.cmake
index a3488792a..f8ca60521 100644
--- a/Source/cmake/FindHarfBuzz.cmake
+++ b/Source/cmake/FindHarfBuzz.cmake
@@ -30,17 +30,17 @@
# HARFBUZZ_INCLUDE_DIRS - containg the HarfBuzz headers
# HARFBUZZ_LIBRARIES - containg the HarfBuzz library
-INCLUDE(FindPkgConfig)
+include(FindPkgConfig)
-PKG_CHECK_MODULES(PC_HARFBUZZ harfbuzz>=0.9.0)
+pkg_check_modules(PC_HARFBUZZ harfbuzz>=0.9.7)
-FIND_PATH(HARFBUZZ_INCLUDE_DIRS NAMES hb.h
- HINTS ${PC_HARFBUZZ_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
+find_path(HARFBUZZ_INCLUDE_DIRS NAMES hb.h
+ HINTS ${PC_HARFBUZZ_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR}
)
-FIND_LIBRARY(HARFBUZZ_LIBRARIES NAMES harfbuzz
- HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
+find_library(HARFBUZZ_LIBRARIES NAMES harfbuzz
+ HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR}
)
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(HarfBuzz DEFAULT_MSG HARFBUZZ_INCLUDE_DIRS HARFBUZZ_LIBRARIES)
diff --git a/Source/cmake/FindICU.cmake b/Source/cmake/FindICU.cmake
index 225c73102..a3fe795f1 100644
--- a/Source/cmake/FindICU.cmake
+++ b/Source/cmake/FindICU.cmake
@@ -10,68 +10,67 @@
# (note: in addition to ICU_LIBRARIES)
# Look for the header file.
-FIND_PATH(
+find_path(
ICU_INCLUDE_DIR
NAMES unicode/utypes.h
DOC "Include directory for the ICU library")
-MARK_AS_ADVANCED(ICU_INCLUDE_DIR)
+mark_as_advanced(ICU_INCLUDE_DIR)
# Look for the library.
-FIND_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)
+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})
+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 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}")
+ set(ICU_VERSION "${ICU_MAJOR_VERSION}.${ICU_MINOR_VERSION}")
# Look for the ICU internationalization libraries
- FIND_LIBRARY(
+ 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 ()
+ 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/FindLibSeccomp.cmake b/Source/cmake/FindLibSeccomp.cmake
new file mode 100644
index 000000000..2129c8b70
--- /dev/null
+++ b/Source/cmake/FindLibSeccomp.cmake
@@ -0,0 +1,46 @@
+# Copyright (c) 2013, Intel Corporation
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+# * Neither the name of Intel Corporation nor the names of its contributors may
+# be used to endorse or promote products derived from this software without
+# specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR CONTRIBUTORS 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.
+#
+# Try to find libseccomp include and library directories.
+#
+# After successful discovery, this will set for inclusion where needed:
+# LIBSECCOMP_INCLUDE_DIRS - containg the libseccomp headers
+# LIBSECCOMP_LIBRARIES - containg the libseccomp library
+
+include(FindPkgConfig)
+
+pkg_check_modules(PC_LIBSECCOMP libseccomp)
+
+find_path(LIBSECCOMP_INCLUDE_DIRS NAMES seccomp.h
+ HINTS ${PC_LIBSECCOMP_INCLUDE_DIRS} ${PC_LIBSECCOMP_INCLUDEDIR}
+)
+
+find_library(LIBSECCOMP_LIBRARIES NAMES seccomp
+ HINTS ${PC_LIBSECCOMP_LIBRARY_DIRS} ${PC_LIBSECCOMP_LIBDIR}
+)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(seccomp DEFAULT_MSG LIBSECCOMP_INCLUDE_DIRS LIBSECCOMP_LIBRARIES)
diff --git a/Source/cmake/FindLibSoup.cmake b/Source/cmake/FindLibSoup.cmake
index cb8e4e243..aaa76e8c5 100644
--- a/Source/cmake/FindLibSoup.cmake
+++ b/Source/cmake/FindLibSoup.cmake
@@ -31,22 +31,22 @@
# LibSoup does not provide an easy way to retrieve its version other than its
# .pc file, so we need to rely on PC_LIBSOUP_VERSION and REQUIRE the .pc file
# to be found.
-FIND_PACKAGE(PkgConfig)
-PKG_CHECK_MODULES(PC_LIBSOUP REQUIRED QUIET libsoup-2.4)
+find_package(PkgConfig)
+pkg_check_modules(PC_LIBSOUP REQUIRED QUIET libsoup-2.4)
-FIND_PATH(LIBSOUP_INCLUDE_DIRS
+find_path(LIBSOUP_INCLUDE_DIRS
NAMES libsoup/soup.h
HINTS ${PC_LIBSOUP_INCLUDEDIR}
${PC_LIBSOUP_INCLUDE_DIRS}
PATH_SUFFIXES libsoup-2.4
)
-FIND_LIBRARY(LIBSOUP_LIBRARIES
+find_library(LIBSOUP_LIBRARIES
NAMES soup-2.4
HINTS ${PC_LIBSOUP_LIBDIR}
${PC_LIBSOUP_LIBRARY_DIRS}
)
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibSoup REQUIRED_VARS LIBSOUP_INCLUDE_DIRS LIBSOUP_LIBRARIES
VERSION_VAR PC_LIBSOUP_VERSION)
diff --git a/Source/cmake/FindQuickTimeSDK.cmake b/Source/cmake/FindQuickTimeSDK.cmake
index 1c701f500..389b67e4e 100644
--- a/Source/cmake/FindQuickTimeSDK.cmake
+++ b/Source/cmake/FindQuickTimeSDK.cmake
@@ -5,16 +5,16 @@
# QuickTime_LIBRARIES, libraries to link against to use QuickTime.
# QuickTime_FOUND, If false, do not try to use QuickTime.
-FIND_PATH(QuickTimeSDK_INCLUDE_DIRS QuickTime.h PATHS
+find_path(QuickTimeSDK_INCLUDE_DIRS QuickTime.h PATHS
"$ENV{PROGRAMFILES}/QuickTime SDK/CIncludes"
)
-SET(QuickTimeSDK_LIBRARY_PATH "${QuickTimeSDK_INCLUDE_DIRS}/../Libraries")
-FIND_LIBRARY(QuickTimeSDK_CVClient_LIBRARY CVClient ${QuickTimeSDK_LIBRARY_PATH} NO_DEFAULT_PATH)
-FIND_LIBRARY(QuickTimeSDK_QTMLClient_LIBRARY QTMLClient ${QuickTimeSDK_LIBRARY_PATH} NO_DEFAULT_PATH)
-SET(QuickTimeSDK_LIBRARIES ${QuickTimeSDK_CVClient_LIBRARY} ${QuickTimeSDK_QTMLClient_LIBRARY})
+set(QuickTimeSDK_LIBRARY_PATH "${QuickTimeSDK_INCLUDE_DIRS}/../Libraries")
+find_library(QuickTimeSDK_CVClient_LIBRARY CVClient ${QuickTimeSDK_LIBRARY_PATH} NO_DEFAULT_PATH)
+find_library(QuickTimeSDK_QTMLClient_LIBRARY QTMLClient ${QuickTimeSDK_LIBRARY_PATH} NO_DEFAULT_PATH)
+set(QuickTimeSDK_LIBRARIES ${QuickTimeSDK_CVClient_LIBRARY} ${QuickTimeSDK_QTMLClient_LIBRARY})
# handle the QUIETLY and REQUIRED arguments and set QuickTimeSDK_FOUND to TRUE if all listed variables are TRUE
-INCLUDE(FindPackageHandleStandardArgs)
+include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(QuickTimeSDK DEFAULT_MSG QuickTimeSDK_LIBRARIES QuickTimeSDK_INCLUDE_DIRS)
-MARK_AS_ADVANCED(QuickTimeSDK_INCLUDE_DIRS QuickTimeSDK_CVClient_LIBRARY QuickTimeSDK_QTMLClient_LIBRARY)
+mark_as_advanced(QuickTimeSDK_INCLUDE_DIRS QuickTimeSDK_CVClient_LIBRARY QuickTimeSDK_QTMLClient_LIBRARY)
diff --git a/Source/cmake/FindSqlite.cmake b/Source/cmake/FindSqlite.cmake
index 1bd862551..47caa360c 100644
--- a/Source/cmake/FindSqlite.cmake
+++ b/Source/cmake/FindSqlite.cmake
@@ -31,36 +31,35 @@
# (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 ( SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES )
- # in cache already
- SET(Sqlite_FIND_QUIETLY TRUE)
-endif ( SQLITE_INCLUDE_DIR AND SQLITE_LIBRARIES )
+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)
+# in the find_path() and find_library() calls
+if (NOT WIN32)
+ find_package(PkgConfig)
- pkg_check_modules(PC_SQLITE sqlite3)
+ pkg_check_modules(PC_SQLITE sqlite3)
- set(SQLITE_DEFINITIONS ${PC_SQLITE_CFLAGS_OTHER})
-endif( NOT WIN32 )
+ 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_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}
+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 )
+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 )
-
+mark_as_advanced(SQLITE_INCLUDE_DIR SQLITE_LIBRARIES)
diff --git a/Source/cmake/FindWebP.cmake b/Source/cmake/FindWebP.cmake
new file mode 100644
index 000000000..3ef11d91a
--- /dev/null
+++ b/Source/cmake/FindWebP.cmake
@@ -0,0 +1,46 @@
+# - Try to find WebP.
+# Once done, this will define
+#
+# WEBP_FOUND - system has WebP.
+# WEBP_INCLUDE_DIRS - the WebP. include directories
+# WEBP_LIBRARIES - link these to use WebP.
+#
+# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
+# Copyright (C) 2013 Igalia S.L.
+#
+# 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 above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``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 COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS 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.
+
+find_package(PkgConfig)
+pkg_check_modules(WEBP libwebp)
+
+if (NOT(WEBP_FOUND))
+ # Older installations of libwebp do not install a pkgconfig file, so we fall
+ # back to a manual search for a libwebp header file.
+ check_include_files("webp/decode.h" WEBP_FOUND)
+ if (WEBP_FOUND)
+ set(WEBP_LIBRARIES "-lwebp")
+ endif ()
+endif ()
+
+# WEBP_INCLUDE_DIRS is often empty, so we rely only on WEBP_LIBRARIES.
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(WEBP DEFAULT_MSG WEBP_LIBRARIES)
diff --git a/Source/cmake/FindXt.cmake b/Source/cmake/FindXt.cmake
new file mode 100644
index 000000000..90c279799
--- /dev/null
+++ b/Source/cmake/FindXt.cmake
@@ -0,0 +1,49 @@
+# - Try to find Xt
+# Once done, this will define
+#
+# XT_FOUND - system has Xt.
+# XT_INCLUDE_DIRS - the Xt. include directories
+# XT_LIBRARIES - link these to use Xt.
+#
+# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
+# Copyright (C) 2013 Igalia S.L.
+#
+# 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 above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``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 COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS 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.
+
+find_package(PkgConfig)
+pkg_check_modules(XT xt)
+
+set(VERSION_OK TRUE)
+if (XT_VERSION)
+ if (XT_FIND_VERSION_EXACT)
+ if (NOT("${XT_FIND_VERSION}" VERSION_EQUAL "${XT_VERSION}"))
+ set(VERSION_OK FALSE)
+ endif ()
+ else ()
+ if ("${XT_VERSION}" VERSION_LESS "${XT_FIND_VERSION}")
+ set(VERSION_OK FALSE)
+ endif ()
+ endif ()
+endif ()
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(XT_DEFAULT_MSG XT_INCLUDE_DIRS XT_LIBRARIES VERSION_OK)
diff --git a/Source/cmake/OptionsBlackBerry.cmake b/Source/cmake/OptionsBlackBerry.cmake
index c93dfad51..31fcfe1ce 100644
--- a/Source/cmake/OptionsBlackBerry.cmake
+++ b/Source/cmake/OptionsBlackBerry.cmake
@@ -1,72 +1,69 @@
-SET(PROJECT_VERSION_MAJOR 0)
-SET(PROJECT_VERSION_MINOR 1)
-SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR})
+set(PROJECT_VERSION_MAJOR 0)
+set(PROJECT_VERSION_MINOR 1)
+set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR})
-SET(DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}-${PROJECT_VERSION})
+set(DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}-${PROJECT_VERSION})
-ADD_DEFINITIONS(-DDATA_DIR="${DATA_DIR}")
+set(WTF_USE_ICU_UNICODE 1)
-ADD_DEFINITIONS(-DWEBCORE_NAVIGATOR_VENDOR="Research In Motion, Ltd.")
-ADD_DEFINITIONS(-DBUILDING_BLACKBERRY__)
-ADD_DEFINITIONS(-DBUILD_WEBKIT)
+add_definitions(-DDATA_DIR="${DATA_DIR}")
+
+add_definitions(-DWEBCORE_NAVIGATOR_VENDOR="Research In Motion, Ltd.")
+add_definitions(-DBUILDING_BLACKBERRY__)
+add_definitions(-DBUILD_WEBKIT)
# Workaround for now so that SK_DEBUG isn't defined in SkPreConfig.h
-ADD_DEFINITIONS(-DSK_RELEASE)
+add_definitions(-DSK_RELEASE)
# TODO: Make this build-time configurable
-SET(WTF_USE_PTHREADS 1)
-ADD_DEFINITIONS(-DWTF_USE_PTHREADS=1)
-SET(WTF_USE_OPENTYPE_SANITIZER 1)
-ADD_DEFINITIONS(-DWTF_USE_OPENTYPE_SANITIZER=1)
-
-IF (SHARED_CORE)
- ADD_DEFINITIONS(-DWTF_USE_EXPORT_MACROS=1)
-ENDIF()
-
-IF (ENABLE_GLES2)
- SET(WTF_USE_ACCELERATED_COMPOSITING 1)
- ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_COMPOSITING=1)
- ADD_DEFINITIONS(-DBLACKBERRY_PLATFORM_GRAPHICS_EGL=1)
- ADD_DEFINITIONS(-DBLACKBERRY_PLATFORM_GRAPHICS_GLES2=1)
- ADD_DEFINITIONS(-DBLACKBERRY_PLATFORM_GRAPHICS_DRAWING_SURFACE=1)
- ADD_DEFINITIONS(-DBLACKBERRY_PLATFORM_EXPORT_WEBDOM=1)
- ADD_DEFINITIONS(-DWTF_USE_ARENA_ALLOC_ALIGNMENT_INTEGER=1)
-ENDIF ()
-
-IF (ADDITIONAL_SYSTEM_INCLUDE_PATH)
- SET(CMAKE_INCLUDE_SYSTEM_FLAG_C "-Wp,-isystem")
- SET(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-Wp,-isystem")
- FOREACH (directory ${ADDITIONAL_SYSTEM_INCLUDE_PATH})
- INCLUDE_DIRECTORIES(SYSTEM ${directory})
- ENDFOREACH ()
- IF(ENABLE_WEBGL)
- INCLUDE_DIRECTORIES(SYSTEM ${THIRDPARTY_DIR}/ANGLE/include) #As system so as to be lower-priority than actual system headers
- ENDIF ()
-ENDIF ()
-
-IF (PUBLIC_BUILD)
- ADD_DEFINITIONS(-DPUBLIC_BUILD=1)
+set(WTF_USE_OPENTYPE_SANITIZER 1)
+add_definitions(-DWTF_USE_OPENTYPE_SANITIZER=1)
+add_definitions(-DWTF_USE_EXPORT_MACROS=1)
+
+if (ENABLE_GLES2)
+ set(WTF_USE_ACCELERATED_COMPOSITING 1)
+ add_definitions(-DWTF_USE_ACCELERATED_COMPOSITING=1)
+ add_definitions(-DBLACKBERRY_PLATFORM_GRAPHICS_EGL=1)
+ add_definitions(-DBLACKBERRY_PLATFORM_GRAPHICS_GLES2=1)
+ add_definitions(-DBLACKBERRY_PLATFORM_GRAPHICS_DRAWING_SURFACE=1)
+ add_definitions(-DWTF_USE_ARENA_ALLOC_ALIGNMENT_INTEGER=1)
+endif ()
+
+if (ADDITIONAL_SYSTEM_INCLUDE_PATH)
+ set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-Wp,-isystem")
+ set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-Wp,-isystem")
+ foreach (directory ${ADDITIONAL_SYSTEM_INCLUDE_PATH})
+ include_directories(SYSTEM ${directory})
+ endforeach ()
+ if (ENABLE_WEBGL)
+ include_directories(SYSTEM ${THIRDPARTY_DIR}/ANGLE/include) #As system so as to be lower-priority than actual system headers
+ endif ()
+endif ()
+
+if (PUBLIC_BUILD)
message("*** PUBLIC BUILD ***")
-ELSE (PUBLIC_BUILD)
+else (PUBLIC_BUILD)
message("*** DRT is ENABLED ***")
-ENDIF ()
+endif ()
-ADD_DEFINITIONS(-D__QNXNTO__)
-ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
-ADD_DEFINITIONS(-D_LARGEFILE64_SOURCE)
+add_definitions(-D__QNXNTO__)
+add_definitions(-D_FILE_OFFSET_BITS=64)
+add_definitions(-D_LARGEFILE64_SOURCE)
# Find a library only in the staging directory (which is the CMAKE_INSTALL_PATH)
# TODO: CMAKE_INSTALL_PATH may not be staging directory.
-MACRO(FIND_STAGING_LIBRARY _var _libname)
- FIND_LIBRARY(${_var} ${_libname}
- PATHS "${CMAKE_LIBRARY_PATH}"
- ENV "QNX_TARGET"
- PATH_SUFFIXES "${CMAKE_SYSTEM_PROCESSOR}/usr/lib" "${CMAKE_SYSTEM_PROCESSOR}/lib"
- NO_DEFAULT_PATH)
-ENDMACRO()
-
-FIND_STAGING_LIBRARY(Skia_LIBRARY grskia)
-FIND_STAGING_LIBRARY(Skia_QNX_LIBRARY skia-qnx)
+macro(FIND_STAGING_LIBRARY _var _libname)
+ find_library(${_var} ${_libname}
+ PATHS "${CMAKE_LIBRARY_PATH}"
+ ENV "QNX_TARGET"
+ PATH_SUFFIXES "${CMAKE_SYSTEM_PROCESSOR}/usr/lib" "${CMAKE_SYSTEM_PROCESSOR}/lib"
+ NO_DEFAULT_PATH)
+endmacro()
+
+macro(FIND_STAGING_STATIC_LIBRARY _var _libname)
+ set(${_var} "-Bstatic -l${_libname} -Bdynamic" CACHE STRING ${_libname})
+endmacro()
+
FIND_STAGING_LIBRARY(JPEG_LIBRARY jpeg)
FIND_STAGING_LIBRARY(PNG_LIBRARY png)
FIND_STAGING_LIBRARY(XML2_LIBRARY xml2)
@@ -92,67 +89,73 @@ FIND_STAGING_LIBRARY(LEVELDB_LIBRARY leveldb)
FIND_STAGING_LIBRARY(ITYPE_LIBRARY iType)
FIND_STAGING_LIBRARY(WTLE_LIBRARY WTLE)
+# Use jpeg-turbo for device build
+if (TARGETING_PLAYBOOK)
+ FIND_STAGING_STATIC_LIBRARY(JPEG_LIBRARY jpeg-webkit)
+else ()
+ FIND_STAGING_LIBRARY(JPEG_LIBRARY jpeg)
+endif ()
+
# Add "-fPIC" to CMAKE_SHARED_LIBRARY_C_FLAGS and CMAKE_SHARED_LIBRARY_CXX_FLAGS
# This is because "-fPIC" is not included in the default defines under Modules/Platform/QNX.cmake
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC ${CMAKE_SHARED_LIBRARY_C_FLAGS}")
-SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-fPIC ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC ${CMAKE_SHARED_LIBRARY_C_FLAGS}")
+set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-fPIC ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}")
# Show unresolved symbols when doing the final shared object link
-IF (PROFILING)
- SET(BLACKBERRY_LINK_FLAGS "-Wl,-z,defs -Wl,-z,relro -Wl,-E -Wl,--no-keep-memory")
-ELSE (PROFILING)
- SET(BLACKBERRY_LINK_FLAGS "-Wl,-z,defs -Wl,-z,relro -Wl,--no-keep-memory")
-ENDIF ()
+if (PROFILING)
+ set(BLACKBERRY_LINK_FLAGS "-Wl,-z,defs -Wl,-z,relro -Wl,-E -Wl,--no-keep-memory")
+else (PROFILING)
+ set(BLACKBERRY_LINK_FLAGS "-Wl,-z,defs -Wl,-z,relro -Wl,--no-keep-memory")
+endif ()
# Set custom CFLAGS for our port
-IF (CMAKE_COMPILER_IS_GNUCC)
- SET(CMAKE_CXX_FLAGS "-fstack-protector -fno-rtti -Wformat -Wformat-security -Werror=format-security ${CMAKE_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS "-fstack-protector -Wformat -Wformat-security -Werror=format-security ${CMAKE_C_FLAGS}")
- SET(JSC_LINK_FLAGS "-Wl,-z,defs -Wl,-z,relro -N1024K")
-ENDIF ()
+if (CMAKE_COMPILER_IS_GNUCC)
+ set(CMAKE_CXX_FLAGS "-fno-exceptions -fstack-protector -fno-rtti -Wformat -Wformat-security -Werror=format-security ${CMAKE_CXX_FLAGS}")
+ set(CMAKE_C_FLAGS "-fstack-protector -Wformat -Wformat-security -Werror=format-security ${CMAKE_C_FLAGS}")
+ set(JSC_LINK_FLAGS "-Wl,-z,defs -Wl,-z,relro -N1024K")
+endif ()
-IF (PROFILING)
- SET(CMAKE_CXX_FLAGS "-finstrument-functions -g ${CMAKE_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS "-finstrument-functions -g ${CMAKE_C_FLAGS}")
-ENDIF ()
+if (PROFILING)
+ set(CMAKE_CXX_FLAGS "-finstrument-functions -g ${CMAKE_CXX_FLAGS}")
+ set(CMAKE_C_FLAGS "-finstrument-functions -g ${CMAKE_C_FLAGS}")
+endif ()
# FIXME: Make this more elegant
-IF (TARGETING_PLAYBOOK)
- SET(CMAKE_CXX_FLAGS "-mfpu=neon ${CMAKE_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS "-mfpu=neon ${CMAKE_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS "-mthumb -mthumb-interwork ${CMAKE_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS "-mthumb -mthumb-interwork ${CMAKE_C_FLAGS}")
+if (TARGETING_PLAYBOOK)
+ set(CMAKE_CXX_FLAGS "-mfpu=neon ${CMAKE_CXX_FLAGS}")
+ set(CMAKE_C_FLAGS "-mfpu=neon ${CMAKE_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS "-mthumb -mthumb-interwork ${CMAKE_CXX_FLAGS}")
+ set(CMAKE_C_FLAGS "-mthumb -mthumb-interwork ${CMAKE_C_FLAGS}")
# check for BB_RELEASE_FLAGS or BB_DEBUG_FLAGS to set CMAKE_C_FLAGS{DEBUG|RELEASE} CMAKE_CXX_FLAGS{DEBUG|RELEASE}
- if( DEFINED ENV{BB_RELEASE_FLAGS} )
+ if (DEFINED ENV{BB_RELEASE_FLAGS})
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{BB_RELEASE_FLAGS} -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "$ENV{BB_RELEASE_FLAGS} -DNDEBUG")
- message( "== ENV override RELEASE ${CMAKE_CXX_FLAGS_RELEASE}" )
- endif()
- if( DEFINED ENV{BB_DEBUG_FLAGS} )
+ message("== ENV override RELEASE ${CMAKE_CXX_FLAGS_RELEASE}")
+ endif ()
+ if (DEFINED ENV{BB_DEBUG_FLAGS})
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{BB_DEBUG_FLAGS}")
set(CMAKE_C_FLAGS_DEBUG "$ENV{BB_DEBUG_FLAGS}")
- message( "== ENV override DEBUG ${CMAKE_CXX_FLAGS_DEBUG}")
- endif()
-ENDIF ()
+ message("== ENV override DEBUG ${CMAKE_CXX_FLAGS_DEBUG}")
+ endif ()
+endif ()
-INCLUDE_DIRECTORIES(${CMAKE_INCLUDE_PATH})
+include_directories(${CMAKE_INCLUDE_PATH})
-SET(JSC_EXECUTABLE_NAME jsc)
-
-SET(WTF_LIBRARY_NAME wtf)
-SET(JavaScriptCore_LIBRARY_NAME javascriptcore)
-SET(WebCore_LIBRARY_NAME webcore)
-SET(WebKit_LIBRARY_NAME webkit)
-SET(WebKit_DRT_LIBRARY_NAME webkit_DRT)
+set(WTF_OUTPUT_NAME wtf)
+set(JavaScriptCore_OUTPUT_NAME javascriptcore)
+set(WebCore_OUTPUT_NAME webcore)
+set(WebKit_OUTPUT_NAME webkit)
+set(WebKit_DRT_OUTPUT_NAME webkit_DRT)
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_BATTERY_STATUS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BLOB ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CONTEXT_MENUS OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_IMAGE_RESOLUTION ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CUSTOM_SCHEME_HANDLER ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DEVICE_ORIENTATION ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT OFF)
@@ -162,12 +165,14 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILE_SYSTEM ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FILTERS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FULLSCREEN_API ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GEOLOCATION ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_IMAGE_DECODER_DOWN_SAMPLING ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE 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_LEGACY_VIEWPORT_ADAPTION ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MATHML OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MICRODATA ON)
@@ -175,45 +180,43 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NAVIGATOR_CONTENT_UTILS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_INFO 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_POPUP 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_SMOOTH_SCROLLING ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_STYLE_SCOPED ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEXT_AUTOSIZING ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_SLIDER ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_XHR_RESPONSE_BLOB ON)
-IF (ENABLE_GLES2)
+if (ENABLE_GLES2)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCELERATED_2D_CANVAS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_FILTERS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_SHADERS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL ON)
-ELSE ()
+else ()
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCELERATED_2D_CANVAS OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_FILTERS OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_SHADERS OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL OFF)
-ENDIF ()
+endif ()
-IF (CMAKE_SYSTEM_PROCESSOR MATCHES x86)
+if (CMAKE_SYSTEM_PROCESSOR MATCHES x86)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT OFF)
-ELSE ()
+else ()
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT ON)
-ENDIF ()
+endif ()
WEBKIT_OPTION_END()
-ADD_DEFINITIONS(-DENABLE_BLACKBERRY_CREDENTIAL_PERSIST=1)
+add_definitions(-DENABLE_BLACKBERRY_CREDENTIAL_PERSIST=1)
# 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.
@@ -223,6 +226,8 @@ ADD_DEFINITIONS(-DENABLE_BLACKBERRY_CREDENTIAL_PERSIST=1)
#
# FIXME: Make this mechanism more general purpose. Maybe accept a list or directories/files to copy
# instead of individual variables. Generalizing this solution may allow us to fix <https://bugs.webkit.org/show_bug.cgi?id=70913>.
-SET(BLACKBERRY_THIRD_PARTY_DIR "${CMAKE_BINARY_DIR}/ThirdPartyBlackBerry")
-FILE(COPY ${THIRD_PARTY_ICU_DIR} DESTINATION "${BLACKBERRY_THIRD_PARTY_DIR}/icu")
-FILE(COPY ${THIRD_PARTY_UNICODE_FILE} DESTINATION ${BLACKBERRY_THIRD_PARTY_DIR})
+set(BLACKBERRY_THIRD_PARTY_DIR "${CMAKE_BINARY_DIR}/ThirdPartyBlackBerry")
+file(COPY ${THIRD_PARTY_ICU_DIR} DESTINATION "${BLACKBERRY_THIRD_PARTY_DIR}/icu")
+file(COPY ${THIRD_PARTY_UNICODE_FILE} DESTINATION ${BLACKBERRY_THIRD_PARTY_DIR})
+
+set(ICU_INCLUDE_DIRS "${BLACKBERRY_THIRD_PARTY_DIR}/icu")
diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
index 70105980c..ee3ce7a49 100644
--- a/Source/cmake/OptionsCommon.cmake
+++ b/Source/cmake/OptionsCommon.cmake
@@ -1,39 +1,41 @@
-ADD_DEFINITIONS(-DBUILDING_WITH_CMAKE=1)
-ADD_DEFINITIONS(-DHAVE_CONFIG_H=1)
+add_definitions(-DBUILDING_WITH_CMAKE=1)
+add_definitions(-DHAVE_CONFIG_H=1)
-IF (WTF_OS_UNIX)
- ADD_DEFINITIONS(-DXP_UNIX)
- #TODO: check for X11 target
- ADD_DEFINITIONS(-DMOZ_X11)
-ENDIF (WTF_OS_UNIX)
+if (WTF_OS_UNIX)
+ add_definitions(-DXP_UNIX)
+endif (WTF_OS_UNIX)
# CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS only matters with GCC >= 4.7.0. Since this
# version, -P does not output empty lines, which currently breaks make_names.pl in
# WebCore. Investigating whether make_names.pl should be changed instead is left as an exercise to
# the reader.
-IF (MSVC)
+if (MSVC)
# FIXME: Some codegenerators don't support paths with spaces. So use the executable name only.
- GET_FILENAME_COMPONENT(CODE_GENERATOR_PREPROCESSOR_EXECUTABLE ${CMAKE_CXX_COMPILER} NAME)
- SET(CODE_GENERATOR_PREPROCESSOR "${CODE_GENERATOR_PREPROCESSOR_EXECUTABLE} /nologo /EP")
- SET(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CODE_GENERATOR_PREPROCESSOR}")
-ELSEIF (CMAKE_SYSTEM_NAME MATCHES QNX)
- SET(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} -E -Wp,-P -x c++")
- SET(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CODE_GENERATOR_PREPROCESSOR}")
-ELSE ()
- SET(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} -E -P -x c++")
- SET(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CMAKE_CXX_COMPILER} -E -x c++")
-ENDIF ()
+ get_filename_component(CODE_GENERATOR_PREPROCESSOR_EXECUTABLE ${CMAKE_CXX_COMPILER} NAME)
+ set(CODE_GENERATOR_PREPROCESSOR "${CODE_GENERATOR_PREPROCESSOR_EXECUTABLE} /nologo /EP")
+ set(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CODE_GENERATOR_PREPROCESSOR}")
+elseif (CMAKE_SYSTEM_NAME MATCHES QNX)
+ set(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} -E -Wp,-P -x c++")
+ set(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CODE_GENERATOR_PREPROCESSOR}")
+else ()
+ set(CODE_GENERATOR_PREPROCESSOR "${CMAKE_CXX_COMPILER} -E -P -x c++")
+ set(CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS "${CMAKE_CXX_COMPILER} -E -x c++")
+endif ()
-SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
+set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-STRING(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR)
-IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND "${LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|x86)" AND "${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+string(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR)
+if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND "${LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|x86)")
# To avoid out of memory when building with debug option in 32bit system.
# See https://bugs.webkit.org/show_bug.cgi?id=77327
- SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-keep-memory ${CMAKE_SHARED_LINKER_FLAGS}")
-ENDIF ()
+ set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "-Wl,--no-keep-memory ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
+endif ()
-SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
+if (UNIX AND NOT APPLE)
+ set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
+endif ()
-SET(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "Where to install libraries (lib${LIB_SUFFIX})")
-SET(EXEC_INSTALL_DIR "bin" CACHE PATH "Where to install executables")
+set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
+
+set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "Where to install libraries (lib${LIB_SUFFIX})")
+set(EXEC_INSTALL_DIR "bin" CACHE PATH "Where to install executables")
diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake
index fe37fbf7c..42036d15d 100644
--- a/Source/cmake/OptionsEfl.cmake
+++ b/Source/cmake/OptionsEfl.cmake
@@ -1,196 +1,282 @@
-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})
-
-ADD_DEFINITIONS(-DBUILDING_EFL__=1)
-
-FIND_PACKAGE(Cairo 1.10.2 REQUIRED)
-FIND_PACKAGE(Fontconfig 2.8.0 REQUIRED)
-FIND_PACKAGE(Sqlite REQUIRED)
-FIND_PACKAGE(LibXml2 2.8.0 REQUIRED)
-FIND_PACKAGE(LibXslt 1.1.7 REQUIRED)
-FIND_PACKAGE(ICU REQUIRED)
-FIND_PACKAGE(Threads REQUIRED)
-FIND_PACKAGE(JPEG REQUIRED)
-FIND_PACKAGE(PNG REQUIRED)
-FIND_PACKAGE(ZLIB REQUIRED)
-
-FIND_PACKAGE(GLIB 2.33.2 REQUIRED COMPONENTS gio gobject gthread)
-FIND_PACKAGE(LibSoup 2.39.4.1 REQUIRED)
-
-SET(WTF_USE_SOUP 1)
-ADD_DEFINITIONS(-DWTF_USE_SOUP=1)
-ADD_DEFINITIONS(-DWTF_USE_PTHREADS=1)
-ADD_DEFINITIONS(-DWTF_USE_ICU_UNICODE=1)
-ADD_DEFINITIONS(-DWTF_USE_CAIRO=1)
-
-SET(JSC_EXECUTABLE_NAME jsc)
-
-SET(WTF_LIBRARY_NAME wtf_efl)
-SET(JavaScriptCore_LIBRARY_NAME javascriptcore_efl)
-SET(WebCore_LIBRARY_NAME webcore_efl)
-SET(WebKit_LIBRARY_NAME ewebkit)
-SET(WebKit2_LIBRARY_NAME ewebkit2)
-
-SET(DATA_INSTALL_DIR "share/${WebKit_LIBRARY_NAME}-${PROJECT_VERSION_MAJOR}" CACHE PATH "Installation path for theme data")
-SET(THEME_BINARY_DIR ${CMAKE_BINARY_DIR}/WebKit/efl/DefaultTheme)
-FILE(MAKE_DIRECTORY ${THEME_BINARY_DIR})
-
-SET(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_MODULE_PATH}/eflsymbols.filter")
+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})
+
+add_definitions(-DBUILDING_EFL__=1)
+
+if (NOT DEFINED ENABLE_WEBKIT2)
+ set(ENABLE_WEBKIT2 ON)
+endif ()
+
+if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug" AND NOT SHARED_CORE)
+ message(FATAL_ERROR "Turn on the SHARED_CORE flag to make a debug build - e.g.\n build-webkit --efl --debug --cmakeargs=\"-DSHARED_CORE=ON\".\n")
+endif ()
+
+find_package(Cairo 1.10.2 REQUIRED)
+find_package(Fontconfig 2.8.0 REQUIRED)
+find_package(Sqlite REQUIRED)
+find_package(LibXml2 2.8.0 REQUIRED)
+find_package(LibXslt 1.1.7 REQUIRED)
+find_package(ICU REQUIRED)
+find_package(Threads REQUIRED)
+find_package(JPEG REQUIRED)
+find_package(PNG REQUIRED)
+find_package(ZLIB REQUIRED)
+
+find_package(GLIB 2.36.0 REQUIRED COMPONENTS gio gobject gthread)
+find_package(LibSoup 2.42.0 REQUIRED)
+
+set(WTF_USE_ICU_UNICODE 1)
+set(WTF_USE_SOUP 1)
+
+add_definitions(-DWTF_USE_GLIB=1)
+add_definitions(-DWTF_USE_SOUP=1)
+add_definitions(-DWTF_USE_ICU_UNICODE=1)
+add_definitions(-DWTF_USE_CAIRO=1)
+add_definitions(-DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1)
+
+set(WTF_OUTPUT_NAME wtf_efl)
+set(JavaScriptCore_OUTPUT_NAME javascriptcore_efl)
+set(WebCore_OUTPUT_NAME webcore_efl)
+set(WebKit_OUTPUT_NAME ewebkit)
+set(WebKit2_OUTPUT_NAME ewebkit2)
+
+set(DATA_INSTALL_DIR "share/${WebKit_OUTPUT_NAME}-${PROJECT_VERSION_MAJOR}" CACHE PATH "Installation path for theme data")
+set(THEME_BINARY_DIR ${CMAKE_BINARY_DIR}/WebCore/platform/efl/DefaultTheme)
+file(MAKE_DIRECTORY ${THEME_BINARY_DIR})
+
+add_definitions(-DDATA_DIR="${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}"
+ -DTEST_THEME_DIR="${THEME_BINARY_DIR}")
+
+set(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_MODULE_PATH}/eflsymbols.filter")
WEBKIT_OPTION_BEGIN()
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ANIMATION_API ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCESSIBILITY ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_API_TESTS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BLOB ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS3_TEXT ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_DEVICE_ADAPTATION ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_IMAGE_SET ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_REGIONS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_STICKY_POSITION ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_VARIABLES ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CUSTOM_SCHEME_HANDLER ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATALIST_ELEMENT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOM4_EVENTS_CONSTRUCTOR ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT 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_FULLSCREEN_API ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GLIB_SUPPORT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LINK_PREFETCH ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MICRODATA ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MOUSE_CURSOR_SCALE ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NAVIGATOR_CONTENT_UTILS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API ON)
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_RESOLUTION_MEDIA_QUERY ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REGIONS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHADOW_DOM ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SECCOMP_FILTERS OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEMPLATE_ELEMENT ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_USERSELECT_ALL ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_INTENTS ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_INTENTS_TAG ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIEW_MODE_CSS_MEDIA ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_XHR_TIMEOUT ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(WTF_USE_TILED_BACKING_STORE ON)
# FIXME: Perhaps we need a more generic way of defining dependencies between features.
# VIDEO_TRACK depends on VIDEO.
-IF (NOT ENABLE_VIDEO AND ENABLE_VIDEO_TRACK)
- MESSAGE(STATUS "Disabling VIDEO_TRACK since VIDEO support is disabled.")
- SET(ENABLE_VIDEO_TRACK OFF)
-ENDIF ()
+if (NOT ENABLE_VIDEO AND ENABLE_VIDEO_TRACK)
+ message(STATUS "Disabling VIDEO_TRACK since VIDEO support is disabled.")
+ set(ENABLE_VIDEO_TRACK OFF)
+endif ()
WEBKIT_OPTION_END()
-OPTION(ENABLE_ECORE_X "Enable Ecore_X specific usage (cursor, bell)" ON)
-IF (ENABLE_ECORE_X)
+option(ENABLE_ECORE_X "Enable Ecore_X specific usage (cursor, bell)" ON)
+if (ENABLE_ECORE_X)
# We need Xext.h to disable Xlib error messages when running WTR on Xvfb.
# These errors are dumped on stderr and makes the test driver thinks that
# the test case has failed.
- FIND_PACKAGE(X11 REQUIRED)
-
- LIST(APPEND ECORE_ADDITIONAL_COMPONENTS X)
- ADD_DEFINITIONS(-DHAVE_ECORE_X)
-ENDIF ()
-
-FIND_PACKAGE(Eina 1.7 REQUIRED)
-FIND_PACKAGE(Evas 1.7 REQUIRED)
-FIND_PACKAGE(Ecore 1.7 COMPONENTS Evas File Input ${ECORE_ADDITIONAL_COMPONENTS})
-FIND_PACKAGE(Edje 1.7 REQUIRED)
-FIND_PACKAGE(Eet 1.7 REQUIRED)
-FIND_PACKAGE(Eeze 1.7 REQUIRED)
-FIND_PACKAGE(Efreet 1.7 REQUIRED)
-FIND_PACKAGE(E_DBus 1.7 COMPONENTS EUKit)
-
-# Elementary is needed to build MiniBrowser
-FIND_PACKAGE(Elementary 1.7)
-
-FIND_PACKAGE(Freetype 2.4.2 REQUIRED)
-FIND_PACKAGE(HarfBuzz 0.9.2 REQUIRED)
-ADD_DEFINITIONS(-DWTF_USE_FREETYPE=1)
-ADD_DEFINITIONS(-DWTF_USE_HARFBUZZ_NG=1)
-
-IF (ENABLE_WEBKIT2 AND ENABLE_NETSCAPE_PLUGIN_API)
- SET(ENABLE_PLUGIN_PROCESS 1)
-ENDIF ()
-
-IF (NOT ENABLE_SVG)
- SET(ENABLE_SVG_FONTS 0)
-ENDIF ()
-
-IF (ENABLE_BATTERY_STATUS)
- FIND_PACKAGE(DBus REQUIRED)
-ENDIF ()
-
-IF (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
- SET(GSTREAMER_COMPONENTS app interfaces pbutils)
- SET(WTF_USE_GSTREAMER 1)
- ADD_DEFINITIONS(-DWTF_USE_GSTREAMER=1)
-
- IF (ENABLE_VIDEO)
- LIST(APPEND GSTREAMER_COMPONENTS video)
- ENDIF()
-
- IF (ENABLE_WEB_AUDIO)
- LIST(APPEND GSTREAMER_COMPONENTS audio fft)
- ADD_DEFINITIONS(-DWTF_USE_WEBAUDIO_GSTREAMER=1)
- ENDIF ()
-
- FIND_PACKAGE(GStreamer REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
-ENDIF ()
-
-IF (ENABLE_WEBGL OR WTF_USE_TILED_BACKING_STORE)
- FIND_PACKAGE(OpenGL REQUIRED)
+ find_package(X11 REQUIRED)
+
+ list(APPEND ECORE_ADDITIONAL_COMPONENTS X)
+ add_definitions(-DHAVE_ECORE_X)
+ add_definitions(-DWTF_PLATFORM_X11=1)
+ add_definitions(-DMOZ_X11)
+endif ()
+
+# Allow building the EFL port using EFL version 1.6+ to build on Tizen trunk
+find_package(Eina 1.6 REQUIRED)
+find_package(Evas 1.6 REQUIRED)
+find_package(Ecore 1.6 COMPONENTS Evas File Input Imf Imf_Evas ${ECORE_ADDITIONAL_COMPONENTS})
+find_package(Edje 1.6 REQUIRED)
+find_package(Eet 1.6 REQUIRED)
+find_package(Eeze 1.6 REQUIRED)
+find_package(Efreet 1.6 REQUIRED)
+find_package(E_DBus 1.6 COMPONENTS EUKit)
+
+# Add Eo dependency if EFL version is 1.8
+if (${EVAS_VERSION} VERSION_EQUAL 1.8 AND ${ECORE_VERSION} VERSION_EQUAL 1.8)
+ find_package(Eo)
+ add_definitions(-DWTF_USE_EO=1)
+endif ()
+
+# Prefer and promote EFL version 1.7+ as the reference configuration
+if ((${EINA_VERSION} STRLESS 1.7) OR (${EVAS_VERSION} STRLESS 1.7) OR (${ECORE_VERSION} STRLESS 1.7) OR (${EDJE_VERSION} STRLESS 1.7) OR
+ (${EET_VERSION} STRLESS 1.7) OR (${EEZE_VERSION} STRLESS 1.7) OR (${EFREET_VERSION} STRLESS 1.7) OR (${E_DBUS_VERSION} STRLESS 1.7))
+ message("Consider updating all EFL libaries to v1.7")
+endif ()
+
+find_package(Freetype 2.4.2 REQUIRED)
+find_package(HarfBuzz 0.9.2 REQUIRED)
+add_definitions(-DWTF_USE_FREETYPE=1)
+add_definitions(-DWTF_USE_HARFBUZZ=1)
+
+if (ENABLE_WEBKIT2 AND ENABLE_NETSCAPE_PLUGIN_API)
+ set(ENABLE_PLUGIN_PROCESS 1)
+endif ()
+
+if (NOT ENABLE_SVG)
+ set(ENABLE_SVG_FONTS 0)
+endif ()
+
+if (ENABLE_BATTERY_STATUS)
+ find_package(DBus REQUIRED)
+endif ()
+
+if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
+ set(GSTREAMER_COMPONENTS app pbutils)
+ set(WTF_USE_GSTREAMER 1)
+ add_definitions(-DWTF_USE_GSTREAMER=1 -DGST_API_VERSION_1=1)
+
+ if (ENABLE_VIDEO)
+ list(APPEND GSTREAMER_COMPONENTS video)
+ endif ()
+
+ if (ENABLE_WEB_AUDIO)
+ list(APPEND GSTREAMER_COMPONENTS audio fft)
+ add_definitions(-DWTF_USE_WEBAUDIO_GSTREAMER=1)
+ endif ()
+
+ find_package(GStreamer 1.0.5 REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
+endif ()
+
+if (WTF_USE_TILED_BACKING_STORE)
+ add_definitions(-DWTF_USE_ACCELERATED_COMPOSITING=1)
+
+ add_definitions(-DWTF_USE_COORDINATED_GRAPHICS=1)
+
+ set(WTF_USE_TEXTURE_MAPPER 1)
+ add_definitions(-DWTF_USE_TEXTURE_MAPPER=1)
+
+ set(WTF_USE_3D_GRAPHICS 1)
+ add_definitions(-DWTF_USE_3D_GRAPHICS=1)
+
+ set(ENABLE_3D_RENDERING 1)
+ add_definitions(-DENABLE_3D_RENDERING=1)
+else ()
+ # Disable 3D graphics and WEBGL if tiled backing is disabled
+ set(ENABLE_WEBGL 0)
+ set(WTF_USE_3D_GRAPHICS 0)
+ add_definitions(-DWTF_USE_3D_GRAPHICS=0)
+endif ()
+
+if (ENABLE_WEBGL OR WTF_USE_TILED_BACKING_STORE)
+ find_package(OpenGL REQUIRED)
CHECK_INCLUDE_FILES("GL/glx.h" OPENGLX_FOUND)
- IF (OPENGLX_FOUND)
- ADD_DEFINITIONS(-DHAVE_GLX)
- ENDIF()
-ENDIF ()
-
-IF (ENABLE_INSPECTOR)
- SET(WEB_INSPECTOR_DIR "${DATA_INSTALL_DIR}/inspector")
- ADD_DEFINITIONS(-DWEB_INSPECTOR_DIR=\"${CMAKE_BINARY_DIR}/${WEB_INSPECTOR_DIR}\")
- ADD_DEFINITIONS(-DWEB_INSPECTOR_INSTALL_DIR=\"${CMAKE_INSTALL_PREFIX}/${WEB_INSPECTOR_DIR}\")
-ENDIF ()
-
-SET(CPACK_SOURCE_GENERATOR TBZ2)
-
-IF (WTF_USE_TILED_BACKING_STORE)
- ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_COMPOSITING=1)
-
- ADD_DEFINITIONS(-DWTF_USE_COORDINATED_GRAPHICS=1)
-
- SET(WTF_USE_TEXTURE_MAPPER 1)
- ADD_DEFINITIONS(-DWTF_USE_TEXTURE_MAPPER=1)
-
- SET(WTF_USE_3D_GRAPHICS 1)
- ADD_DEFINITIONS(-DWTF_USE_3D_GRAPHICS=1)
-
- SET(ENABLE_3D_RENDERING 1)
- ADD_DEFINITIONS(-DENABLE_3D_RENDERING=1)
-ENDIF()
-
-IF (ENABLE_WEBGL)
- SET (ENABLE_WEBGL 1)
- ADD_DEFINITIONS(-DWTF_USE_GRAPHICS_SURFACE=1)
-ENDIF()
-
-IF (ENABLE_SPELLCHECK)
- FIND_PACKAGE(Enchant REQUIRED)
-ENDIF()
-
-FIND_PACKAGE(ATK REQUIRED)
+ if (OPENGLX_FOUND)
+ add_definitions(-DHAVE_GLX)
+ endif ()
+
+ option(ENABLE_EGL "Enable EGL Support")
+
+ if (ENABLE_EGL)
+ find_package(EGL REQUIRED)
+ endif ()
+
+ if (EGL_FOUND)
+ set(WTF_USE_EGL 1)
+ set(USE_GRAPHICS_SURFACE 1)
+ add_definitions(-DWTF_USE_EGL=1)
+ option(ENABLE_GLES2 "Enable GLES Support")
+
+ if (ENABLE_GLES2)
+ find_package(GLES REQUIRED)
+ endif ()
+
+ if (OPENGLES2_FOUND)
+ set(WTF_USE_OPENGL_ES_2 1)
+ add_definitions(-DWTF_USE_OPENGL_ES_2=1)
+ endif ()
+ elseif (OPENGLX_FOUND)
+ add_definitions(-DWTF_USE_GLX=1)
+
+ if (X11_Xcomposite_FOUND AND X11_Xrender_FOUND)
+ set(USE_GRAPHICS_SURFACE 1)
+ elseif (ENABLE_WEBGL)
+ # FIXME: Add support for NOT X11_Xcomposite for GLX
+ message(FATAL_ERROR "To use WebGL with GLX support requires X11_Xcomposite.")
+ endif ()
+ endif ()
+endif ()
+
+if (ENABLE_INSPECTOR)
+ set(WEB_INSPECTOR_DIR "${DATA_INSTALL_DIR}/inspector")
+ add_definitions(-DWEB_INSPECTOR_DIR=\"${CMAKE_BINARY_DIR}/${WEB_INSPECTOR_DIR}\")
+ add_definitions(-DWEB_INSPECTOR_INSTALL_DIR=\"${CMAKE_INSTALL_PREFIX}/${WEB_INSPECTOR_DIR}\")
+endif ()
+
+if (ENABLE_SECCOMP_FILTERS)
+ find_package(LibSeccomp REQUIRED)
+endif ()
+
+set(CPACK_SOURCE_GENERATOR TBZ2)
+
+# Optimize binary size for release builds by removing dead sections on unix/gcc
+if (CMAKE_COMPILER_IS_GNUCC AND UNIX AND NOT APPLE)
+ set(CMAKE_C_FLAGS_RELEASE "-ffunction-sections -fdata-sections ${CMAKE_C_FLAGS_RELEASE}")
+ set(CMAKE_CXX_FLAGS_RELEASE "-ffunction-sections -fdata-sections ${CMAKE_CXX_FLAGS_RELEASE}")
+ set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "-Wl,--gc-sections ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
+endif ()
+
+if (ENABLE_WEBGL)
+ set(ENABLE_WEBGL 1)
+ if (USE_GRAPHICS_SURFACE)
+ add_definitions(-DWTF_USE_GRAPHICS_SURFACE=1)
+ endif ()
+endif ()
+
+if (ENABLE_SPELLCHECK)
+ find_package(Enchant REQUIRED)
+endif ()
+
+if (ENABLE_ACCESSIBILITY)
+ find_package(ATK 2.8.0 REQUIRED)
+else ()
+ add_definitions(-DHAVE_ACCESSIBILITY=0)
+endif ()
+
+if (ENABLE_INDEXED_DATABASE)
+ set(WTF_USE_LEVELDB 1)
+ add_definitions(-DWTF_USE_LEVELDB=1)
+endif ()
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
new file mode 100644
index 000000000..62165af5e
--- /dev/null
+++ b/Source/cmake/OptionsGTK.cmake
@@ -0,0 +1,175 @@
+include(GNUInstallDirs)
+
+# FIXME: We want to expose fewer options to downstream, but for now everything is public.
+WEBKIT_OPTION_BEGIN()
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_3D_RENDERING ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCESSIBILITY ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_API_TESTS OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BATTERY_STATUS OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_BLOB ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS3_TEXT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_DEVICE_ADAPTATION ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_IMAGE_SET ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_REGIONS ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_STICKY_POSITION ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CSS_VARIABLES ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CUSTOM_SCHEME_HANDLER ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DATALIST_ELEMENT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DOWNLOAD_ATTRIBUTE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT 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_FULLSCREEN_API ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GAMEPAD OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INDEXED_DATABASE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LINK_PREFETCH ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MICRODATA ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NAVIGATOR_CONTENT_UTILS ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API ON)
+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_RESOLUTION_MEDIA_QUERY OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SECCOMP_FILTERS OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHADOW_DOM OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SPELLCHECK ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TEMPLATE_ELEMENT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_TOUCH_EVENTS OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_USERSELECT_ALL ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIBRATION OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIDEO_TRACK ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_VIEW_MODE_CSS_MEDIA ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_AUDIO OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_TIMING ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL OFF)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_XHR_TIMEOUT ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(WTF_USE_TILED_BACKING_STORE OFF)
+
+# FIXME: Perhaps we need a more generic way of defining dependencies between features.
+# VIDEO_TRACK depends on VIDEO.
+if (NOT ENABLE_VIDEO AND ENABLE_VIDEO_TRACK)
+ message(STATUS "Disabling VIDEO_TRACK since VIDEO support is disabled.")
+ set(ENABLE_VIDEO_TRACK OFF)
+endif ()
+WEBKIT_OPTION_END()
+
+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})
+
+set(WEBKIT_MICRO_VERSION ${PROJECT_VERSION_PATCH})
+set(WEBKIT_MINOR_VERSION ${PROJECT_VERSION_MINOR})
+set(WEBKIT_MAJOR_VERSION ${PROJECT_VERSION_MAJOR})
+
+set(ENABLE_WEBCORE ON)
+set(ENABLE_INSPECTOR ON)
+set(ENABLE_PLUGIN_PROCESS ON)
+set(ENABLE_WEBKIT OFF)
+set(ENABLE_WEBKIT2 ON)
+
+set(WTF_USE_ICU_UNICODE 1)
+set(WTF_USE_SOUP 1)
+
+set(WTF_OUTPUT_NAME WTFGTK)
+set(JavaScriptCore_OUTPUT_NAME javascriptcoregtk)
+set(WebCore_OUTPUT_NAME WebCoreGTK)
+set(WebKit_OUTPUT_NAME webkitgtk-3.0)
+set(WebKit2_OUTPUT_NAME webkit2gtk-3.0)
+set(WebKit2_WebProcess_OUTPUT_NAME WebKitWebProcess)
+set(VERSION_SCRIPT "-Wl,--version-script,${CMAKE_MODULE_PATH}/gtksymbols.filter")
+
+set(DATA_BUILD_DIR "${CMAKE_BINARY_DIR}/share/${WebKit_OUTPUT_NAME}")
+set(DATA_INSTALL_DIR "${DATADIR}/webkitgtk-3.0")
+
+add_definitions(-DBUILDING_GTK__=1)
+add_definitions(-DGETTEXT_PACKAGE="WebKitGTK-3.0")
+add_definitions(-DDATA_DIR="${DATADIR}")
+add_definitions(-DWEBKITGTK_API_VERSION_STRING="3.0")
+add_definitions(-DUSER_AGENT_GTK_MAJOR_VERSION=537)
+add_definitions(-DUSER_AGENT_GTK_MINOR_VERSION=30)
+
+# FIXME: These need to be configurable.
+add_definitions(-DWTF_PLATFORM_X11=1)
+add_definitions(-DMOZ_X11)
+
+find_package(Cairo 1.10.2 REQUIRED)
+find_package(Fontconfig 2.8.0 REQUIRED)
+find_package(Freetype 2.4.2 REQUIRED)
+find_package(GLIB 2.33.2 REQUIRED COMPONENTS gio gobject gthread gmodule)
+find_package(GTK3 3.6.0 REQUIRED)
+find_package(GDK3 3.6.0 REQUIRED)
+find_package(GAIL3 3.0 REQUIRED)
+find_package(HarfBuzz 0.9.2 REQUIRED)
+find_package(ICU REQUIRED)
+find_package(JPEG REQUIRED)
+find_package(LibSoup 2.40.3 REQUIRED)
+find_package(LibXml2 2.8.0 REQUIRED)
+find_package(LibXslt 1.1.7 REQUIRED)
+find_package(PNG REQUIRED)
+find_package(Sqlite REQUIRED)
+find_package(Threads REQUIRED)
+find_package(ZLIB REQUIRED)
+find_package(Xt REQUIRED)
+find_package(ATK REQUIRED)
+find_package(WebP REQUIRED)
+find_package(GStreamer 1.0.3 REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
+
+# We don't use find_package for GLX because it is part of -lGL, unlike EGL.
+find_package(OpenGL)
+check_include_files("GL/glx.h" GLX_FOUND)
+find_package(EGL)
+
+if (EGL_FOUND)
+ set(WTF_USE_EGL 1)
+endif ()
+
+if (ENABLE_SPELLCHECK)
+ find_package(Enchant REQUIRED)
+endif ()
+
+if (NOT ENABLE_SVG)
+ set(ENABLE_SVG_FONTS 0)
+endif ()
+
+# Optimize binary size for release builds by removing dead sections on unix/gcc
+if (CMAKE_COMPILER_IS_GNUCC AND UNIX AND NOT APPLE)
+ set(CMAKE_C_FLAGS_RELEASE "-ffunction-sections -fdata-sections ${CMAKE_C_FLAGS_RELEASE}")
+ set(CMAKE_CXX_FLAGS_RELEASE "-ffunction-sections -fdata-sections ${CMAKE_CXX_FLAGS_RELEASE}")
+ set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "-Wl,--gc-sections ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
+endif ()
+
+if (${OPENGL_FOUND} AND (${GLX_FOUND} OR ${EGL_FOUND}))
+ set(ENABLE_WEBGL 1)
+ set(ENABLE_TEXTURE_MAPPER 1)
+ set(WTF_USE_3D_GRAPHICS 1)
+
+ add_definitions(-DWTF_USE_OPENGL=1)
+ add_definitions(-DWTF_USE_ACCELERATED_COMPOSITING=1)
+ add_definitions(-DWTF_USE_3D_GRAPHICS=1)
+ add_definitions(-DWTF_USE_TEXTURE_MAPPER=1)
+ add_definitions(-DWTF_USE_TEXTURE_MAPPER_GL=1)
+ add_definitions(-DENABLE_3D_RENDERING=1)
+
+ if (${EGL_FOUND})
+ add_definitions(-DWTF_USE_EGL=1)
+ endif ()
+
+ if (${GLX_FOUND})
+ add_definitions(-DWTF_USE_GLX=1)
+ endif ()
+endif ()
+
+if (ENABLE_INDEXED_DATABASE)
+ set(WTF_USE_LEVELDB 1)
+ add_definitions(-DWTF_USE_LEVELDB=1)
+endif ()
+
+set(CPACK_SOURCE_GENERATOR TBZ2)
diff --git a/Source/cmake/OptionsWinCE.cmake b/Source/cmake/OptionsWinCE.cmake
index f6823125a..58f97a3fe 100644
--- a/Source/cmake/OptionsWinCE.cmake
+++ b/Source/cmake/OptionsWinCE.cmake
@@ -1,23 +1,26 @@
-INCLUDE(OptionsWindows)
+include(OptionsWindows)
-ADD_DEFINITIONS(-D_CE_CRT_ALLOW_WIN_MINMAX)
-ADD_DEFINITIONS(-DWTF_USE_WCHAR_UNICODE=1)
-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(-DJSCCOLLECTOR_VIRTUALMEM_RESERVATION=0x200000)
+set(WTF_USE_WCHAR_UNICODE 1)
-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 ()
+add_definitions(-D_CE_CRT_ALLOW_WIN_MINMAX)
+add_definitions(-DWTF_USE_WCHAR_UNICODE=1)
+add_definitions(-DWTF_USE_WINGDI=1)
+add_definitions(-DWTF_USE_WININET=1)
+add_definitions(-DWINCEBASIC)
+add_definitions(-DJS_NO_EXPORT)
+add_definitions(-DHAVE_ACCESSIBILITY=0)
+add_definitions(-DJSCCOLLECTOR_VIRTUALMEM_RESERVATION=0x200000)
-INCLUDE_DIRECTORIES(${3RDPARTY_DIR}/ce-compat)
-ADD_SUBDIRECTORY(${3RDPARTY_DIR} "${CMAKE_CURRENT_BINARY_DIR}/3rdparty")
+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_OPTION_BEGIN()
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT OFF)
diff --git a/Source/cmake/OptionsWindows.cmake b/Source/cmake/OptionsWindows.cmake
index 6234b0dd3..f31a28c26 100644
--- a/Source/cmake/OptionsWindows.cmake
+++ b/Source/cmake/OptionsWindows.cmake
@@ -1,22 +1,17 @@
-ADD_DEFINITIONS(-DWTF_PLATFORM_WIN=1)
-SET(WTF_PLATFORM_WIN 1)
+add_definitions(-D_HAS_EXCEPTIONS=0 -DNOMINMAX -DUNICODE)
-ADD_DEFINITIONS(-D_HAS_EXCEPTIONS=0 -DNOMINMAX -DUNICODE)
+include_directories(${JAVASCRIPTCORE_DIR}/os-win32)
-INCLUDE_DIRECTORIES(${JAVASCRIPTCORE_DIR}/os-win32)
-
-IF (MSVC)
- ADD_DEFINITIONS(/WX
+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)
- STRING(REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
- STRING(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable RTTI
-
- IF (NOT MSVC_VERSION LESS 1500)
- SET(CMAKE_C_FLAGS "/MP ${CMAKE_C_FLAGS}")
- SET(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS}")
- ENDIF ()
-ENDIF ()
+ string(REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable C++ exceptions
+ string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Disable RTTI
-STRING(REPLACE "/ENTRY:mainACRTStartup" "/ENTRY:WinMainCRTStartup" CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
+ if (NOT MSVC_VERSION LESS 1500)
+ set(CMAKE_C_FLAGS "/MP ${CMAKE_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS}")
+ endif ()
+endif ()
diff --git a/Source/cmake/WebKitFS.cmake b/Source/cmake/WebKitFS.cmake
index 0a0778d2a..899eaef39 100644
--- a/Source/cmake/WebKitFS.cmake
+++ b/Source/cmake/WebKitFS.cmake
@@ -1,10 +1,10 @@
-FILE(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR})
-FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/runtime)
+file(MAKE_DIRECTORY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR})
+file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Source/JavaScriptCore/runtime)
-IF (ENABLE_WEBCORE)
- FILE(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR})
-ENDIF ()
+if (ENABLE_WEBCORE)
+ file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR})
+endif ()
-IF (ENABLE_WEBKIT2)
- FILE(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKIT2_DIR})
-ENDIF ()
+if (ENABLE_WEBKIT2)
+ file(MAKE_DIRECTORY ${DERIVED_SOURCES_WEBKIT2_DIR})
+endif ()
diff --git a/Source/cmake/WebKitFeatures.cmake b/Source/cmake/WebKitFeatures.cmake
index 3a0486eb2..165466afa 100644
--- a/Source/cmake/WebKitFeatures.cmake
+++ b/Source/cmake/WebKitFeatures.cmake
@@ -1,29 +1,32 @@
-SET(_WEBKIT_AVAILABLE_OPTIONS "")
+set(_WEBKIT_AVAILABLE_OPTIONS "")
-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_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_OPTION_DEFAULT_PORT_VALUE _name _value)
+ set(_WEBKIT_AVAILABLE_OPTIONS_INITALVALUE_${_name} ${_value})
+endmacro()
-MACRO (WEBKIT_OPTION_BEGIN)
+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_ACCESSIBILITY "Toggle accessibility support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_API_TESTS "Enable public API unit tests" 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_CANVAS_PATH "Toggle Canvas Path support" ON)
+ WEBKIT_OPTION_DEFINE(ENABLE_CANVAS_PROXY "Toggle CanvasProxy support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CHANNEL_MESSAGING "Toggle MessageChannel and MessagePort support" ON)
+ WEBKIT_OPTION_DEFINE(ENABLE_CONTEXT_MENUS "Toggle Context Menu support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_CSP_NEXT "Toggle Content Security Policy 1.1 support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_CSS3_BACKGROUND "Toggle CSS3 Background support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CSS3_CONDITIONAL_RULES "Toggle CSS3 Conditional Rules support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CSS3_TEXT "Toggle CSS3 Text support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_CSS_BOX_DECORATION_BREAK "Toggle Box Decoration Break (CSS Backgrounds and Borders) support" ON)
+ WEBKIT_OPTION_DEFINE(ENABLE_CSS3_TEXT_LINE_BREAK "Toggle CSS3 Text Line Break support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_CSS_BOX_DECORATION_BREAK "Toggle Box Decoration break (CSS Backgrounds and Borders) support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_COMPOSITING "Toggle CSS COMPOSITING support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_DEVICE_ADAPTATION "Toggle CSS Device Adaptation support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_EXCLUSIONS "Toggle CSS Exclusion support" OFF)
@@ -33,7 +36,9 @@ MACRO (WEBKIT_OPTION_BEGIN)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_IMAGE_SET "Toggle CSS image-set support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_REGIONS "Toggle CSS regions support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_SHADERS "Toggle CSS Shaders (within CSS Filters) support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_CSS_SHAPES "Toggle CSS Shapes support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_STICKY_POSITION "Toggle CSS sticky position support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED "Toggle support for unprefixed CSS animations and transforms" ON)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_VARIABLES "Toggle CSS Variables support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CUSTOM_SCHEME_HANDLER "Toggle Custom Scheme Handler support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_DATALIST_ELEMENT "Toggle HTML5 datalist support" OFF)
@@ -42,16 +47,17 @@ MACRO (WEBKIT_OPTION_BEGIN)
WEBKIT_OPTION_DEFINE(ENABLE_DEVICE_ORIENTATION "Toggle DeviceOrientation support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_DIALOG_ELEMENT "Toggle Dialog Element support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_DIRECTORY_UPLOAD "Toggle Directory upload support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_DOM4_EVENTS_CONSTRUCTOR "Toggle DOM4 Events constructors" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_DOWNLOAD_ATTRIBUTE "Toggle download attribute support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_DRAG_SUPPORT "Toggle Drag Support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_FAST_MOBILE_SCROLLING "Toogle Fast Mobile Scrolling support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_FAST_MOBILE_SCROLLING "Toggle 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_FONT_LOAD_EVENTS "Toggle Font Load Events 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_HIDDEN_PAGE_DOM_TIMER_THROTTLING "Toggle hidden page DOM timer throttling 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)
@@ -61,7 +67,7 @@ MACRO (WEBKIT_OPTION_BEGIN)
WEBKIT_OPTION_DEFINE(ENABLE_INPUT_SPEECH "Toggle Speech Input API support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_COLOR "Toggle Color Input support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_DATE "Toggle date type <input> support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_DATETIME "Toggle datetime type <input> support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE "Toggle broken datetime type <input> support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_DATETIMELOCAL "Toggle datetime-local type <input> support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_MONTH "Toggle month type <input> support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_INPUT_TYPE_TIME "Toggle time type <input> support" OFF)
@@ -70,11 +76,10 @@ MACRO (WEBKIT_OPTION_BEGIN)
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_LEGACY_VIEWPORT_ADAPTION "Toogle legacy viewport adaption" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_VIEWPORT_ADAPTION "Toggle legacy viewport adaption" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_VENDOR_PREFIXES "Toggle Legacy Vendor Prefix Support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_WEB_AUDIO "Toggle Legacy Web Audio support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_LINK_PREFETCH "Toggle pre fetching support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_LINK_PRERENDER "Toggle pre rendering support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_LLINT "Enable JSC Low Level Interpreter" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_MATHML "Toggle MathML support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_CAPTURE "Toggle Media Capture support" OFF)
@@ -85,13 +90,15 @@ MACRO (WEBKIT_OPTION_BEGIN)
WEBKIT_OPTION_DEFINE(ENABLE_METER_ELEMENT "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_MOUSE_CURSOR_SCALE "Toggle Scaled mouse cursor support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_NAVIGATOR_CONTENT_UTILS "Toggle Navigator Content Utils support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_NOSNIFF "Toggle support for 'X-Content-Type-Options: nosniff'" OFF)
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_PERFORMANCE_TIMELINE "Toggle Performance Timeline support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_PROGRESS_ELEMENT "Toggle Progress Tag support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_PLUGIN_PROXY_FOR_VIDEO "Toggle Plugin Proxy for Video support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_PROXIMITY_EVENTS "Toggle Proximity Events support" OFF)
@@ -99,77 +106,78 @@ MACRO (WEBKIT_OPTION_BEGIN)
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_RESOLUTION_MEDIA_QUERY "Toggle resolution media query support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_RESOURCE_TIMING "Toggle Resource Timing 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_SECCOMP_FILTERS "Toggle Linux seccomp filters for the WebProcess support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_SHARED_WORKERS "Toggle SharedWorkers support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_SPELLCHECK "Toggle Spellchecking support (requires Enchant)" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_SQL_DATABASE "Toggle SQL Database Support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_STYLE_SCOPED "Toggle <style scoped> support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_SVG "Toggle SVG support" ON)
- WEBKIT_OPTION_DEFINE(ENABLE_SVG_DOM_OBJC_BINDINGS "Toggle SVG DOM Objective-C bindings support (implies SVG support)" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_SVG_FONTS "Toggle SVG fonts support (imples SVG support)" ON)
WEBKIT_OPTION_DEFINE(ENABLE_TEMPLATE_ELEMENT "Toggle Template support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_TEXT_AUTOSIZING "Toggle Text auto sizing support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_THREADED_HTML_PARSER, "Toggle threaded HTML parser support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_TOUCH_EVENTS "Toggle Touch Events support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_TOUCH_SLIDER "Toggle Touch Slider support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_TOUCH_ICON_LOADING "Toggle Touch Icon Loading Support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_USERSELECT_ALL "Toggle user-select:all support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_USER_TIMING "Toggle User Timing support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_VIBRATION "Toggle Vibration API support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_VIDEO "Toggle Video support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_VIDEO_TRACK "Toggle Track support for HTML5 video" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_VIEW_MODE_CSS_MEDIA "Toggle Track support for the view-mode media Feature" ON)
WEBKIT_OPTION_DEFINE(ENABLE_WEB_AUDIO "Toggle Web Audio support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_WEB_INTENTS "Toggle Web Intents support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_WEB_INTENTS_TAG "Toogle HTMLIntentElement tag support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_WEB_SOCKETS "Toggle Web Sockets support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_WEB_TIMING "Toggle Web Timing support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_WEBGL "Toggle 3D canvas (WebGL) support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_WORKERS "Toggle Web Workers support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_WORKERS "Toggle Web Workers support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_XHR_TIMEOUT "Toggle XHR timeout support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_XSLT "Toggle XSLT support" ON)
WEBKIT_OPTION_DEFINE(USE_SYSTEM_MALLOC "Toggle system allocator instead of TCmalloc" OFF)
WEBKIT_OPTION_DEFINE(WTF_USE_TILED_BACKING_STORE "Toggle Tiled Backing Store support" OFF)
- WEBKIT_OPTION_DEFINE(WTF_USE_WTFURL "Toogle the use of WTFURL for URL parsing" OFF)
-ENDMACRO ()
+endmacro()
-MACRO (WEBKIT_OPTION_END)
- FOREACH (_name ${_WEBKIT_AVAILABLE_OPTIONS})
- OPTION(${_name} "${_WEBKIT_AVAILABLE_OPTIONS_DESCRIPTION_${_name}}" ${_WEBKIT_AVAILABLE_OPTIONS_INITALVALUE_${_name}})
- ENDFOREACH ()
+macro(WEBKIT_OPTION_END)
+ foreach (_name ${_WEBKIT_AVAILABLE_OPTIONS})
+ option(${_name} "${_WEBKIT_AVAILABLE_OPTIONS_DESCRIPTION_${_name}}" ${_WEBKIT_AVAILABLE_OPTIONS_INITALVALUE_${_name}})
+ endforeach ()
- MESSAGE(STATUS "Enabled features:")
+ message(STATUS "Enabled features:")
- SET(_MAX_FEATURE_LENGTH 0)
- FOREACH (_name ${_WEBKIT_AVAILABLE_OPTIONS})
- STRING(LENGTH ${_name} _NAME_LENGTH)
- IF (_NAME_LENGTH GREATER _MAX_FEATURE_LENGTH)
- SET(_MAX_FEATURE_LENGTH ${_NAME_LENGTH})
- ENDIF ()
- ENDFOREACH ()
+ set(_MAX_FEATURE_LENGTH 0)
+ foreach (_name ${_WEBKIT_AVAILABLE_OPTIONS})
+ string(LENGTH ${_name} _NAME_LENGTH)
+ if (_NAME_LENGTH GREATER _MAX_FEATURE_LENGTH)
+ set(_MAX_FEATURE_LENGTH ${_NAME_LENGTH})
+ endif ()
+ endforeach ()
- SET(_SHOULD_PRINT_POINTS OFF)
- FOREACH (_name ${_WEBKIT_AVAILABLE_OPTIONS})
- STRING(LENGTH ${_name} _NAME_LENGTH)
+ set(_SHOULD_PRINT_POINTS OFF)
+ foreach (_name ${_WEBKIT_AVAILABLE_OPTIONS})
+ string(LENGTH ${_name} _NAME_LENGTH)
- SET(_MESSAGE " ${_name} ")
+ set(_MESSAGE " ${_name} ")
- IF (_SHOULD_PRINT_POINTS)
- FOREACH (IGNORE RANGE ${_NAME_LENGTH} ${_MAX_FEATURE_LENGTH})
- SET(_MESSAGE "${_MESSAGE} ")
- ENDFOREACH ()
- SET(_SHOULD_PRINT_POINTS OFF)
- ELSE ()
- FOREACH (IGNORE RANGE ${_NAME_LENGTH} ${_MAX_FEATURE_LENGTH})
- SET(_MESSAGE "${_MESSAGE}.")
- ENDFOREACH ()
- SET(_SHOULD_PRINT_POINTS ON)
- ENDIF ()
+ if (_SHOULD_PRINT_POINTS)
+ foreach (IGNORE RANGE ${_NAME_LENGTH} ${_MAX_FEATURE_LENGTH})
+ set(_MESSAGE "${_MESSAGE} ")
+ endforeach ()
+ set(_SHOULD_PRINT_POINTS OFF)
+ else ()
+ foreach (IGNORE RANGE ${_NAME_LENGTH} ${_MAX_FEATURE_LENGTH})
+ set(_MESSAGE "${_MESSAGE}.")
+ endforeach ()
+ set(_SHOULD_PRINT_POINTS ON)
+ endif ()
- IF (${_name})
- LIST(APPEND FEATURE_DEFINES ${_name})
- SET(FEATURE_DEFINES_WITH_SPACE_SEPARATOR "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR} ${_name}")
- ENDIF ()
+ if (${_name})
+ list(APPEND FEATURE_DEFINES ${_name})
+ set(FEATURE_DEFINES_WITH_SPACE_SEPARATOR "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR} ${_name}")
+ endif ()
- SET(_MESSAGE "${_MESSAGE} ${_WEBKIT_AVAILABLE_OPTIONS_INITALVALUE_${_name}}")
- MESSAGE(STATUS "${_MESSAGE}")
- ENDFOREACH ()
-ENDMACRO ()
+ set(_MESSAGE "${_MESSAGE} ${${_name}}")
+ message(STATUS "${_MESSAGE}")
+ endforeach ()
+endmacro()
diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake
index 23b219b00..975d7080a 100644
--- a/Source/cmake/WebKitHelpers.cmake
+++ b/Source/cmake/WebKitHelpers.cmake
@@ -1,107 +1,110 @@
-INCLUDE(CMakeParseArguments)
+include(CMakeParseArguments)
# 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)
- SET(options ENABLE_WERROR IGNORECXX_WARNINGS)
- CMAKE_PARSE_ARGUMENTS("OPTION" "${options}" "" "" ${ARGN})
- IF (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- GET_TARGET_PROPERTY(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
- IF (${OLD_COMPILE_FLAGS} STREQUAL "OLD_COMPILE_FLAGS-NOTFOUND")
- SET(OLD_COMPILE_FLAGS "")
- ENDIF ()
-
- INCLUDE(TestCXXAcceptsFlag)
- CHECK_CXX_ACCEPTS_FLAG("-dumpversion" CMAKE_CXX_ACCEPTS_DUMPVERSION)
- IF (CMAKE_CXX_ACCEPTS_DUMPVERSION)
- EXEC_PROGRAM(${CMAKE_CXX_COMPILER} ARGS -dumpversion OUTPUT_VARIABLE COMPILER_VERSION)
- ELSE ()
- EXEC_PROGRAM("${CMAKE_CXX_COMPILER} -E -Wp,-dM - < /dev/null | grep '#define __VERSION__' | grep -E -o '[0-9]+\\.[0-9]+\\.?[0-9]+?'" OUTPUT_VARIABLE COMPILER_VERSION)
- ENDIF ()
-
- # Disable some optimizations on buggy compiler versions
- # GCC 4.5.1 does not implement -ftree-sra correctly
- IF (${COMPILER_VERSION} STREQUAL "4.5.1")
- SET(OLD_COMPILE_FLAGS "-fno-tree-sra ${OLD_COMPILE_FLAGS}")
- ENDIF ()
-
- IF (NOT SHARED_CORE)
- SET(OLD_COMPILE_FLAGS "-fvisibility=hidden ${OLD_COMPILE_FLAGS}")
- ENDIF ()
-
- GET_TARGET_PROPERTY(TARGET_TYPE ${_target} TYPE)
- IF (${TARGET_TYPE} STREQUAL "STATIC_LIBRARY") # -fPIC is automatically added to shared libraries
- SET(OLD_COMPILE_FLAGS "-fPIC ${OLD_COMPILE_FLAGS}")
- ENDIF ()
-
- SET(OLD_COMPILE_FLAGS "-fno-exceptions -fno-strict-aliasing ${OLD_COMPILE_FLAGS}")
-
- # Enable warnings by default
- IF (NOT ${OPTION_IGNORECXX_WARNINGS})
- SET(OLD_COMPILE_FLAGS "-Wall -Wextra -Wcast-align -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wundef -Wwrite-strings ${OLD_COMPILE_FLAGS}")
- ENDIF ()
-
- # Enable errors on warning
- IF (OPTION_ENABLE_WERROR)
- SET(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter ${OLD_COMPILE_FLAGS}")
- ENDIF ()
-
- # Disable C++0x compat warnings for GCC >= 4.6.0 until we build
- # cleanly with that.
- IF (NOT ${OPTION_IGNORECXX_WARNINGS} AND NOT ${COMPILER_VERSION} VERSION_LESS "4.6.0")
- SET(OLD_COMPILE_FLAGS "${OLD_COMPILE_FLAGS} -Wno-c++0x-compat")
- ENDIF ()
-
- SET_TARGET_PROPERTIES (${_target} PROPERTIES
- COMPILE_FLAGS "${OLD_COMPILE_FLAGS}")
-
- UNSET(OLD_COMPILE_FLAGS)
- ENDIF ()
-ENDMACRO()
+macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
+ set(options ENABLE_WERROR IGNORECXX_WARNINGS)
+ CMAKE_PARSE_ARGUMENTS("OPTION" "${options}" "" "" ${ARGN})
+ if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ get_target_property(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
+ if (${OLD_COMPILE_FLAGS} STREQUAL "OLD_COMPILE_FLAGS-NOTFOUND")
+ set(OLD_COMPILE_FLAGS "")
+ endif ()
+
+ include(TestCXXAcceptsFlag)
+ CHECK_CXX_ACCEPTS_FLAG("-dumpversion" CMAKE_CXX_ACCEPTS_DUMPVERSION)
+ if (CMAKE_CXX_ACCEPTS_DUMPVERSION)
+ EXEC_PROGRAM(${CMAKE_CXX_COMPILER} ARGS -dumpversion OUTPUT_VARIABLE COMPILER_VERSION)
+ else ()
+ EXEC_PROGRAM("${CMAKE_CXX_COMPILER} -E -Wp,-dM - < /dev/null | grep '#define __VERSION__' | grep -E -o '[0-9]+\\.[0-9]+\\.?[0-9]+?'" OUTPUT_VARIABLE COMPILER_VERSION)
+ endif ()
+
+ # Disable some optimizations on buggy compiler versions
+ # GCC 4.5.1 does not implement -ftree-sra correctly
+ if (${COMPILER_VERSION} STREQUAL "4.5.1")
+ set(OLD_COMPILE_FLAGS "-fno-tree-sra ${OLD_COMPILE_FLAGS}")
+ endif ()
+
+ if (NOT SHARED_CORE)
+ set(OLD_COMPILE_FLAGS "-fvisibility=hidden ${OLD_COMPILE_FLAGS}")
+ endif ()
+
+ get_target_property(TARGET_TYPE ${_target} TYPE)
+ if (${TARGET_TYPE} STREQUAL "STATIC_LIBRARY") # -fPIC is automatically added to shared libraries
+ set(OLD_COMPILE_FLAGS "-fPIC ${OLD_COMPILE_FLAGS}")
+ endif ()
+
+ set(OLD_COMPILE_FLAGS "-fno-exceptions -fno-strict-aliasing ${OLD_COMPILE_FLAGS}")
+
+ # Enable warnings by default
+ if (NOT ${OPTION_IGNORECXX_WARNINGS})
+ set(OLD_COMPILE_FLAGS "-Wall -Wextra -Wcast-align -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wundef -Wwrite-strings ${OLD_COMPILE_FLAGS}")
+ endif ()
+
+ # Enable errors on warning
+ if (OPTION_ENABLE_WERROR)
+ set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter ${OLD_COMPILE_FLAGS}")
+ endif ()
+
+ # Disable C++0x compat warnings for GCC >= 4.6.0 until we build
+ # cleanly with that.
+ if (NOT ${OPTION_IGNORECXX_WARNINGS} AND NOT ${COMPILER_VERSION} VERSION_LESS "4.6.0")
+ set(OLD_COMPILE_FLAGS "${OLD_COMPILE_FLAGS} -Wno-c++0x-compat")
+ endif ()
+
+ if ("${_target}" MATCHES "WebKit2")
+ set(OLD_COMPILE_FLAGS "${OLD_COMPILE_FLAGS} -std=c++0x")
+ endif ()
+
+ 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)
+# 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})
+ 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)
+ 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 ()
+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 ()
+ foreach (f ${_deps})
+ list(APPEND _tmp "${f}")
+ endforeach ()
- SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
- UNSET(_tmp)
-ENDMACRO()
+ 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_WEBCORE_DIR}
# and prepends this to every member of dependencies list
-MACRO(ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES _source _deps)
- SET(_tmp "")
- FOREACH (f ${_deps})
- LIST(APPEND _tmp "${DERIVED_SOURCES_WEBCORE_DIR}/${f}")
- ENDFOREACH ()
-
- ADD_SOURCE_DEPENDENCIES(${_source} ${_tmp})
- UNSET(_tmp)
-ENDMACRO()
-
+macro(ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES _source _deps)
+ set(_tmp "")
+ foreach (f ${_deps})
+ list(APPEND _tmp "${DERIVED_SOURCES_WEBCORE_DIR}/${f}")
+ endforeach ()
+
+ ADD_SOURCE_DEPENDENCIES(${_source} ${_tmp})
+ unset(_tmp)
+endmacro()
diff --git a/Source/cmake/WebKitMacros.cmake b/Source/cmake/WebKitMacros.cmake
index 86e69439a..7b1f22864 100644
--- a/Source/cmake/WebKitMacros.cmake
+++ b/Source/cmake/WebKitMacros.cmake
@@ -1,27 +1,27 @@
-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 ()
+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 ()
+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 ()
+ foreach (f ${_deps})
+ list(APPEND _tmp "${f}")
+ endforeach ()
- SET_SOURCE_FILES_PROPERTIES(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
-ENDMACRO ()
+ set_source_files_properties(${_source} PROPERTIES OBJECT_DEPENDS "${_tmp}")
+endmacro()
# Helper macro which wraps generate-bindings.pl script.
@@ -34,239 +34,226 @@ ENDMACRO ()
# _prefix is a prefix of output files. (eg. JS - it makes JSXXX.cpp JSXXX.h from XXX.idl)
# _generator is a value of --generator argument.
# _supplemental_dependency_file is a value of --supplementalDependencyFile. (optional)
-MACRO (GENERATE_BINDINGS _output_source _input_files _base_dir _idl_includes _features _destination _prefix _generator)
- SET(BINDING_GENERATOR ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl)
-
- SET(_supplemental_dependency_file ${ARGN})
- IF (_supplemental_dependency_file)
- SET(_supplemental_dependency --supplementalDependencyFile ${_supplemental_dependency_file})
- ENDIF ()
-
- FOREACH (_file ${_input_files})
- GET_FILENAME_COMPONENT (_name ${_file} NAME_WE)
-
- ADD_CUSTOM_COMMAND(
+macro(GENERATE_BINDINGS _output_source _input_files _base_dir _idl_includes _features _destination _prefix _generator _idl_attributes_file)
+ set(BINDING_GENERATOR ${WEBCORE_DIR}/bindings/scripts/generate-bindings.pl)
+ set(_args ${ARGN})
+ list(LENGTH _args _argCount)
+ if (_argCount EQUAL 5)
+ list(GET _args 0 _supplemental_dependency_file)
+ if (_supplemental_dependency_file)
+ set(_supplemental_dependency --supplementalDependencyFile ${_supplemental_dependency_file})
+ endif ()
+ list(GET _args 1 _window_constructors_file)
+ list(GET _args 2 _workerglobalscope_constructors_file)
+ list(GET _args 3 _sharedworkerglobalscope_constructors_file)
+ list(GET _args 4 _dedicatedworkerglobalscope_constructors_file)
+ endif ()
+
+ foreach (_file ${_input_files})
+ get_filename_component(_name ${_file} NAME_WE)
+
+ add_custom_command(
OUTPUT ${_destination}/${_prefix}${_name}.cpp ${_destination}/${_prefix}${_name}.h
MAIN_DEPENDENCY ${_file}
- DEPENDS ${BINDING_GENERATOR} ${SCRIPTS_BINDINGS} ${_supplemental_dependency_file}
- COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${BINDING_GENERATOR} --defines "${_features}" --generator ${_generator} ${_idl_includes} --outputDir "${_destination}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${_supplemental_dependency} ${_file}
+ DEPENDS ${BINDING_GENERATOR} ${SCRIPTS_BINDINGS} ${_supplemental_dependency_file} ${_idl_attributes_file} ${_window_constructors_file} ${_workerglobalscope_constructors_file} ${_sharedworkerglobalscope_constructors_file} ${_dedicatedworkerglobalscope_constructors_file}
+ COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${BINDING_GENERATOR} --defines "${_features}" --generator ${_generator} ${_idl_includes} --outputDir "${_destination}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --idlAttributesFile ${_idl_attributes_file} ${_supplemental_dependency} ${_file}
WORKING_DIRECTORY ${_base_dir}
VERBATIM)
- LIST(APPEND ${_output_source} ${_destination}/${_prefix}${_name}.cpp)
- ENDFOREACH ()
-ENDMACRO ()
+ list(APPEND ${_output_source} ${_destination}/${_prefix}${_name}.cpp)
+ endforeach ()
+endmacro()
-MACRO (GENERATE_FONT_NAMES _infile)
- SET(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_names.pl)
- SET(_arguments --fonts ${_infile})
- SET(_outputfiles ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitFontFamilyNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitFontFamilyNames.h)
+macro(GENERATE_FONT_NAMES _infile)
+ set(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_names.pl)
+ set(_arguments --fonts ${_infile})
+ set(_outputfiles ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitFontFamilyNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitFontFamilyNames.h)
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
OUTPUT ${_outputfiles}
MAIN_DEPENDENCY ${_infile}
DEPENDS ${NAMES_GENERATOR} ${SCRIPTS_BINDINGS}
COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${NAMES_GENERATOR} --outputDir ${DERIVED_SOURCES_WEBCORE_DIR} ${_arguments}
VERBATIM)
-ENDMACRO ()
+endmacro()
-MACRO (GENERATE_EVENT_FACTORY _infile _outfile)
- SET(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_event_factory.pl)
+macro(GENERATE_EVENT_FACTORY _infile _outfile)
+ set(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_event_factory.pl)
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/${_outfile}
MAIN_DEPENDENCY ${_infile}
DEPENDS ${NAMES_GENERATOR} ${SCRIPTS_BINDINGS}
COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${NAMES_GENERATOR} --input ${_infile} --outputDir ${DERIVED_SOURCES_WEBCORE_DIR}
VERBATIM)
-ENDMACRO ()
+endmacro()
-MACRO (GENERATE_EXCEPTION_CODE_DESCRIPTION _infile _outfile)
- SET(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_dom_exceptions.pl)
+macro(GENERATE_EXCEPTION_CODE_DESCRIPTION _infile _outfile)
+ set(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_dom_exceptions.pl)
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/${_outfile}
MAIN_DEPENDENCY ${_infile}
DEPENDS ${NAMES_GENERATOR} ${SCRIPTS_BINDINGS}
COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${NAMES_GENERATOR} --input ${_infile} --outputDir ${DERIVED_SOURCES_WEBCORE_DIR}
VERBATIM)
-ENDMACRO ()
+endmacro()
-MACRO (GENERATE_SETTINGS_MACROS _infile _outfile)
- SET(NAMES_GENERATOR ${WEBCORE_DIR}/page/make_settings.pl)
+macro(GENERATE_SETTINGS_MACROS _infile _outfile)
+ set(NAMES_GENERATOR ${WEBCORE_DIR}/page/make_settings.pl)
- ADD_CUSTOM_COMMAND(
- OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/${_outfile}
+ add_custom_command(
+ OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/${_outfile} ${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.h ${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.idl
MAIN_DEPENDENCY ${_infile}
DEPENDS ${NAMES_GENERATOR} ${SCRIPTS_BINDINGS}
COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${NAMES_GENERATOR} --input ${_infile} --outputDir ${DERIVED_SOURCES_WEBCORE_DIR}
VERBATIM)
-ENDMACRO ()
-
-
-MACRO (GENERATE_DOM_NAMES _namespace _attrs)
- SET(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_names.pl)
- SET(_arguments --attrs ${_attrs})
- SET(_outputfiles ${DERIVED_SOURCES_WEBCORE_DIR}/${_namespace}Names.cpp ${DERIVED_SOURCES_WEBCORE_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_WEBCORE_DIR}/${_namespace}ElementFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/${_namespace}ElementFactory.h ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_namespace}ElementWrapperFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_namespace}ElementWrapperFactory.h)
- ENDIF ()
-
- IF (_extradef)
- SET(_additionArguments "${_additionArguments}" --extraDefines=${_extradef})
- ENDIF ()
-
- ADD_CUSTOM_COMMAND(
+endmacro()
+
+
+macro(GENERATE_DOM_NAMES _namespace _attrs)
+ set(NAMES_GENERATOR ${WEBCORE_DIR}/dom/make_names.pl)
+ set(_arguments --attrs ${_attrs})
+ set(_outputfiles ${DERIVED_SOURCES_WEBCORE_DIR}/${_namespace}Names.cpp ${DERIVED_SOURCES_WEBCORE_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_WEBCORE_DIR}/${_namespace}ElementFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/${_namespace}ElementFactory.h ${DERIVED_SOURCES_WEBCORE_DIR}/JS${_namespace}ElementWrapperFactory.cpp ${DERIVED_SOURCES_WEBCORE_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_WITH_LINEMARKERS}" --outputDir ${DERIVED_SOURCES_WEBCORE_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} -i > ${_output}
- VERBATIM)
-ENDMACRO ()
+endmacro()
-MACRO (GENERATE_GRAMMAR _prefix _input _output_header _output_source _features)
+macro(GENERATE_GRAMMAR _prefix _input _output_header _output_source _features)
# This is a workaround for winflexbison, which does not work corretly when
# run in a different working directory than the installation directory.
- GET_FILENAME_COMPONENT(_working_directory ${BISON_EXECUTABLE} PATH)
+ get_filename_component(_working_directory ${BISON_EXECUTABLE} PATH)
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
OUTPUT ${_output_header} ${_output_source}
MAIN_DEPENDENCY ${_input}
DEPENDS ${_input}
COMMAND ${PERL_EXECUTABLE} -I ${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/css/makegrammar.pl --outputDir ${DERIVED_SOURCES_WEBCORE_DIR} --extraDefines "${_features}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --bison "${BISON_EXECUTABLE}" --symbolsPrefix ${_prefix} ${_input}
WORKING_DIRECTORY ${_working_directory}
VERBATIM)
-ENDMACRO ()
+endmacro()
-MACRO(MAKE_HASH_TOOLS _source)
- GET_FILENAME_COMPONENT(_name ${_source} NAME_WE)
+macro(MAKE_HASH_TOOLS _source)
+ get_filename_component(_name ${_source} NAME_WE)
- IF (${_source} STREQUAL "DocTypeStrings")
- SET(_hash_tools_h "${DERIVED_SOURCES_WEBCORE_DIR}/HashTools.h")
- ELSE ()
- SET(_hash_tools_h "")
- ENDIF ()
+ if (${_source} STREQUAL "DocTypeStrings")
+ set(_hash_tools_h "${DERIVED_SOURCES_WEBCORE_DIR}/HashTools.h")
+ else ()
+ set(_hash_tools_h "")
+ endif ()
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/${_name}.cpp ${_hash_tools_h}
- MAIN_DEPENDENCY ${_source}.gperf
+ MAIN_DEPENDENCY ${_source}.gperf
COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/make-hash-tools.pl ${DERIVED_SOURCES_WEBCORE_DIR} ${_source}.gperf
VERBATIM)
- UNSET(_name)
- UNSET(_hash_tools_h)
-ENDMACRO()
+ unset(_name)
+ unset(_hash_tools_h)
+endmacro()
-MACRO (WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS)
+macro(WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS)
INCLUDE_IF_EXISTS(${CMAKE_CURRENT_SOURCE_DIR}/Platform${PORT}.cmake)
-ENDMACRO ()
+endmacro()
-MACRO (WEBKIT_WRAP_SOURCELIST)
- FOREACH (_file ${ARGN})
- GET_FILENAME_COMPONENT(_basename ${_file} NAME_WE)
- GET_FILENAME_COMPONENT(_path ${_file} PATH)
+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_WEBCORE_DIR}")
- STRING(REGEX REPLACE "/" "\\\\\\\\" _sourcegroup "${_path}")
- SOURCE_GROUP("${_sourcegroup}" FILES ${_file})
- ENDIF ()
+ if (NOT _file MATCHES "${DERIVED_SOURCES_WEBCORE_DIR}")
+ string(REGEX REPLACE "/" "\\\\\\\\" _sourcegroup "${_path}")
+ source_group("${_sourcegroup}" FILES ${_file})
+ endif ()
- IF (WTF_PLATFORM_QT)
- SET(_moc_filename ${DERIVED_SOURCES_WEBCORE_DIR}/${_basename}.moc)
+ if (WTF_PLATFORM_QT)
+ set(_moc_filename ${DERIVED_SOURCES_WEBCORE_DIR}/${_basename}.moc)
- FILE(READ ${_file} _contents)
+ file(READ ${_file} _contents)
- STRING(REGEX MATCHALL "#include[ ]+\"${_basename}\\.moc\"" _match "${_contents}")
- IF (_match)
+ 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_WEBCORE_DIR}")
-ENDMACRO ()
-
-
-MACRO (WEBKIT_CREATE_FORWARDING_HEADER _target_directory _file)
- GET_FILENAME_COMPONENT(_absolute "${_file}" ABSOLUTE)
- GET_FILENAME_COMPONENT(_name "${_file}" NAME)
- SET(_content "#include \"${_absolute}\"\n")
- SET(_filename "${_target_directory}/${_name}")
-
- IF (EXISTS "${_filename}")
- FILE(READ "${_filename}" _old_content)
- ENDIF ()
-
- IF (NOT _old_content STREQUAL _content)
- FILE(WRITE "${_filename}" "${_content}")
- ENDIF ()
-ENDMACRO ()
-
-MACRO (WEBKIT_CREATE_FORWARDING_HEADERS _framework)
- SET(_processing_directories 0)
- SET(_processing_files 0)
- SET(_target_directory "${DERIVED_SOURCES_DIR}/ForwardingHeaders/${_framework}")
-
- FILE(GLOB _files "${_target_directory}/*.h")
- FOREACH (_file ${_files})
- FILE(READ "${_file}" _content)
- STRING(REGEX MATCH "^#include \"([^\"]*)\"" _matched ${_content})
- IF (_matched AND NOT EXISTS "${CMAKE_MATCH_1}")
- FILE(REMOVE "${_file}")
- ENDIF()
- ENDFOREACH ()
-
- FOREACH (_currentArg ${ARGN})
- IF ("${_currentArg}" STREQUAL "DIRECTORIES")
- SET(_processing_directories 1)
- SET(_processing_files 0)
- ELSEIF ("${_currentArg}" STREQUAL "FILES")
- SET(_processing_directories 0)
- SET(_processing_files 1)
- ELSEIF (_processing_directories)
- FILE(GLOB _files "${_currentArg}/*.h")
- FOREACH (_file ${_files})
+ endif ()
+ endif ()
+ endforeach ()
+
+ source_group("DerivedSources" REGULAR_EXPRESSION "${DERIVED_SOURCES_WEBCORE_DIR}")
+endmacro()
+
+
+macro(WEBKIT_CREATE_FORWARDING_HEADER _target_directory _file)
+ get_filename_component(_absolute "${_file}" ABSOLUTE)
+ get_filename_component(_name "${_file}" NAME)
+ set(_content "#include \"${_absolute}\"\n")
+ set(_filename "${_target_directory}/${_name}")
+
+ if (EXISTS "${_filename}")
+ file(READ "${_filename}" _old_content)
+ endif ()
+
+ if (NOT _old_content STREQUAL _content)
+ file(WRITE "${_filename}" "${_content}")
+ endif ()
+endmacro()
+
+macro(WEBKIT_CREATE_FORWARDING_HEADERS _framework)
+ set(_processing_directories 0)
+ set(_processing_files 0)
+ set(_target_directory "${DERIVED_SOURCES_DIR}/ForwardingHeaders/${_framework}")
+
+ file(GLOB _files "${_target_directory}/*.h")
+ foreach (_file ${_files})
+ file(READ "${_file}" _content)
+ string(REGEX MATCH "^#include \"([^\"]*)\"" _matched ${_content})
+ if (_matched AND NOT EXISTS "${CMAKE_MATCH_1}")
+ file(REMOVE "${_file}")
+ endif ()
+ endforeach ()
+
+ foreach (_currentArg ${ARGN})
+ if ("${_currentArg}" STREQUAL "DIRECTORIES")
+ set(_processing_directories 1)
+ set(_processing_files 0)
+ elseif ("${_currentArg}" STREQUAL "FILES")
+ set(_processing_directories 0)
+ set(_processing_files 1)
+ elseif (_processing_directories)
+ file(GLOB _files "${_currentArg}/*.h")
+ foreach (_file ${_files})
WEBKIT_CREATE_FORWARDING_HEADER(${_target_directory} ${_file})
- ENDFOREACH ()
- ELSEIF (_processing_files)
+ endforeach ()
+ elseif (_processing_files)
WEBKIT_CREATE_FORWARDING_HEADER(${_target_directory} ${_currentArg})
- ENDIF ()
- ENDFOREACH ()
-ENDMACRO ()
+ endif ()
+ endforeach ()
+endmacro()
diff --git a/Source/cmake/WebKitPackaging.cmake b/Source/cmake/WebKitPackaging.cmake
index 94c96c1a0..0422d6cfc 100644
--- a/Source/cmake/WebKitPackaging.cmake
+++ b/Source/cmake/WebKitPackaging.cmake
@@ -17,161 +17,157 @@
# 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/"
- "/ManualTests/"
- "/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
- "/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\\\\."
- "/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\\\\."
- "/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/"
- "/Source/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)
+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/"
+ "/ManualTests/"
+ "/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
+ "/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\\\\."
+ "/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\\\\."
+ "/win/" "/Win/" "win\\\\." "Win\\\\."
+ "/wince/" "/Wince/" "wince\\\\." "Wince\\\\."
+ "/wxcode/" "/Wxcode/" "wxcode\\\\." "Wxcode\\\\."
+ "/WebKitLibraries/"
+ "/English\\\\.lproj/"
+ "/Source/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)
+include(CPack)
diff --git a/Source/cmake/gtest/CMakeLists.txt b/Source/cmake/gtest/CMakeLists.txt
index adf064705..56bf44782 100644
--- a/Source/cmake/gtest/CMakeLists.txt
+++ b/Source/cmake/gtest/CMakeLists.txt
@@ -3,15 +3,15 @@
# for our tests. The WebKit version of gtest needs access to some
# headers from WTF and JSC for configuration.
-INCLUDE_DIRECTORIES(${THIRDPARTY_DIR}/gtest
+include_directories(${THIRDPARTY_DIR}/gtest
${THIRDPARTY_DIR}/gtest/include
${JAVASCRIPTCORE_DIR}
${WTF_DIR}
)
-SET(GTEST_DIR "${THIRDPARTY_DIR}/gtest")
+set(GTEST_DIR "${THIRDPARTY_DIR}/gtest")
-ADD_LIBRARY(gtest SHARED
+add_library(gtest SHARED
${GTEST_DIR}/src/gtest.cc
${GTEST_DIR}/src/gtest-death-test.cc
${GTEST_DIR}/src/gtest-filepath.cc
@@ -21,13 +21,13 @@ ADD_LIBRARY(gtest SHARED
${GTEST_DIR}/src/gtest-typed-test.cc
)
-ADD_DEFINITIONS(-DGTEST_CREATE_SHARED_LIBRARY=1)
+add_definitions(-DGTEST_CREATE_SHARED_LIBRARY=1)
-TARGET_LINK_LIBRARIES(gtest
- ${WTF_LIBRARY_NAME}
+target_link_libraries(gtest
+ WTF
)
-IF(CMAKE_USE_PTHREADS_INIT)
- TARGET_LINK_LIBRARIES(gtest ${CMAKE_THREAD_LIBS_INIT})
- ADD_DEFINITIONS(-DGTEST_HAS_PTHREAD=1)
-ENDIF()
+if (CMAKE_USE_PTHREADS_INIT)
+ target_link_libraries(gtest ${CMAKE_THREAD_LIBS_INIT})
+ add_definitions(-DGTEST_HAS_PTHREAD=1)
+endif ()