diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2017-06-29 15:38:30 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-06-30 07:36:08 +0000 |
commit | d10511e0a3f655ab2b1dfebfd9c17ade151a7cfe (patch) | |
tree | 5ec64ccaedca04e702cde087aa950043c1e49974 /Source/cmake/OptionsQt.cmake | |
parent | aab669a05f943c587f6acccd94d53a8544170c1c (diff) |
Import WebKit commit 3c9fc2fb47474909f5c30b518d372c854a3ec433
Change-Id: Iccd335ea312d91e826885857fee6d0da3e913b8c
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/cmake/OptionsQt.cmake')
-rw-r--r-- | Source/cmake/OptionsQt.cmake | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake index 1930027d1..457fff566 100644 --- a/Source/cmake/OptionsQt.cmake +++ b/Source/cmake/OptionsQt.cmake @@ -1,4 +1,5 @@ include(FeatureSummary) +include(ECMEnableSanitizers) include(ECMPackageConfigHelpers) set(ECM_MODULE_DIR ${CMAKE_MODULE_PATH}) @@ -152,7 +153,21 @@ else () endif () # FIXME: Move Qt handling here -find_package(Qt5Gui QUIET) +set(REQUIRED_QT_VERSION 5.2.0) +find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core Gui QUIET) + +get_target_property(QT_CORE_TYPE Qt5::Core TYPE) +if (QT_CORE_TYPE MATCHES STATIC) + set(QT_STATIC_BUILD ON) + set(SHARED_CORE OFF) + set(MACOS_BUILD_FRAMEWORKS OFF) +endif () + +if (QT_STATIC_BUILD) + set(ENABLE_WEBKIT2_DEFAULT OFF) +else () + set(ENABLE_WEBKIT2_DEFAULT ON) +endif () if (UNIX AND TARGET Qt5::QXcbIntegrationPlugin AND NOT APPLE) set(ENABLE_X11_TARGET_DEFAULT ON) @@ -179,7 +194,7 @@ WEBKIT_OPTION_DEFINE(ENABLE_OPENGL "Whether to use OpenGL." PUBLIC ON) WEBKIT_OPTION_DEFINE(ENABLE_PRINT_SUPPORT "Enable support for printing web pages" PUBLIC ON) WEBKIT_OPTION_DEFINE(ENABLE_QT_GESTURE_EVENTS "Enable support for gesture events (required for mouse in WK2)" PUBLIC ON) WEBKIT_OPTION_DEFINE(ENABLE_QT_WEBCHANNEL "Enable support for Qt WebChannel" PUBLIC ON) -WEBKIT_OPTION_DEFINE(ENABLE_WEBKIT2 "Enable WebKit2 (QML API)" PUBLIC ON) +WEBKIT_OPTION_DEFINE(ENABLE_WEBKIT2 "Enable WebKit2 (QML API)" PUBLIC ${ENABLE_WEBKIT2_DEFAULT}) WEBKIT_OPTION_DEFINE(ENABLE_X11_TARGET "Whether to enable support for the X11 windowing target." PUBLIC ${ENABLE_X11_TARGET_DEFAULT}) option(GENERATE_DOCUMENTATION "Generate HTML and QCH documentation" OFF) @@ -249,6 +264,8 @@ if (MINGW AND CMAKE_SIZEOF_VOID_P EQUAL 8) endif () WEBKIT_OPTION_CONFLICT(USE_GSTREAMER USE_QT_MULTIMEDIA) +WEBKIT_OPTION_CONFLICT(USE_GSTREAMER USE_MEDIA_FOUNDATION) +WEBKIT_OPTION_CONFLICT(USE_QT_MULTIMEDIA USE_MEDIA_FOUNDATION) WEBKIT_OPTION_DEPEND(ENABLE_3D_TRANSFORMS ENABLE_OPENGL) WEBKIT_OPTION_DEPEND(ENABLE_ACCELERATED_2D_CANVAS ENABLE_OPENGL) @@ -271,9 +288,9 @@ WEBKIT_OPTION_END() # FTL JIT and IndexedDB support require GCC 4.9 # TODO: Patch code to avoid variadic lambdas if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - if (ENABLE_FTL_JIT OR ENABLE_INDEXED_DATABASE) + if (ENABLE_FTL_JIT OR ENABLE_INDEXED_DATABASE OR (ENABLE_WEBKIT2 AND ENABLE_DATABASE_PROCESS)) if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9.0") - message(FATAL_ERROR "GCC 4.9.0 is required to build QtWebKit with FTL JIT and Indexed Database, use a newer GCC version or clang, or disable these features") + message(FATAL_ERROR "GCC 4.9.0 is required to build QtWebKit with FTL JIT, Indexed Database, and Database Process (WebKit 2). Use a newer GCC version or clang, or disable these features") endif () else () if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.8.0") @@ -291,13 +308,6 @@ endif () set(ENABLE_WEBKIT ON) set(WTF_USE_UDIS86 1) -get_target_property(QT_CORE_TYPE Qt5::Core TYPE) -if (QT_CORE_TYPE MATCHES STATIC) - set(QT_STATIC_BUILD ON) - set(SHARED_CORE OFF) - set(MACOS_BUILD_FRAMEWORKS OFF) -endif () - if (SHARED_CORE) set(WebCoreTestSupport_LIBRARY_TYPE SHARED) else () @@ -431,7 +441,6 @@ if (WEBP_FOUND) SET_AND_EXPOSE_TO_BUILD(USE_WEBP 1) endif () -set(REQUIRED_QT_VERSION 5.2.0) set(QT_REQUIRED_COMPONENTS Core Gui Network) # FIXME: Allow building w/o these components @@ -613,6 +622,7 @@ if (ENABLE_OPENGL) endif () if (NOT ENABLE_VIDEO) + set(USE_MEDIA_FOUNDATION OFF) set(USE_QT_MULTIMEDIA OFF) if (NOT ENABLE_WEB_AUDIO) |