summaryrefslogtreecommitdiffstats
path: root/src/core/api
diff options
context:
space:
mode:
authorKirill Burtsev <kirill.burtsev@qt.io>2021-06-25 14:11:05 +0200
committerKirill Burtsev <kirill.burtsev@qt.io>2021-09-09 13:39:43 +0200
commit518d4f10dadf0dcf812a6b949c8febdb0bb93a58 (patch)
treea27f2bebe71a440bae76c8a9a828b9502e5b2f1a /src/core/api
parent3519dd6ad32053f508601e3b5f18f016d3edb000 (diff)
Support more module flags for 'configure' script
Support flags passed to main 'configure' and separate 'qt-configure-module' scripts with flags like '-no-build-qtpdf', '-webengine-full-debug-info', '-no-webengine-jumbo-build', etc. Fixes: QTBUG-95717 Pick-to: 6.2 6.2.0 Change-Id: Ia12602e9a9b31f4f2256f983f6c1e3fbe50cb9e3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/core/api')
-rw-r--r--src/core/api/configure.cmake18
-rw-r--r--src/core/api/qt_cmdline.cmake30
2 files changed, 38 insertions, 10 deletions
diff --git a/src/core/api/configure.cmake b/src/core/api/configure.cmake
index 14b8b5d44..e79bbbae3 100644
--- a/src/core/api/configure.cmake
+++ b/src/core/api/configure.cmake
@@ -111,15 +111,25 @@ qt_feature("webengine-webrtc-pipewire" PRIVATE
AUTODETECT false
CONDITION QT_FEATURE_webengine_webrtc AND GIO_FOUND
)
-qt_feature_config("webengine-full-debug-info" QMAKE_PRIVATE_CONFIG
- NAME "v8base_debug"
+qt_feature("webengine-full-debug-info" PRIVATE
+ SECTION "WebEngine"
+ LABEL "Full debug information"
+ PURPOSE "Enables debug information for Blink and V8."
+ AUTODETECT OFF
+ CONDITION CMAKE_BUILD_TYPE STREQUAL Debug OR Debug IN_LIST CMAKE_CONFIGURATION_TYPES OR
+ CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo OR RelWithDebInfo IN_LIST CMAKE_CONFIGURATION_TYPES
)
-qt_feature_config("webengine-full-debug-info" QMAKE_PRIVATE_CONFIG
- NAME "webcore_debug"
+qt_feature("webengine-sanitizer" PRIVATE
+ SECTION "WebEngine"
+ LABEL "Sanitizer support"
+ PURPOSE "Enables support for build with sanitizers"
+ AUTODETECT CLANG
+ CONDITION CLANG AND ECM_ENABLE_SANITIZERS
)
qt_configure_add_summary_section(NAME "Qt WebEngineCore")
qt_configure_add_summary_entry(ARGS "webengine-embedded-build")
qt_configure_add_summary_entry(ARGS "webengine-full-debug-info")
+qt_configure_add_summary_entry(ARGS "webengine-sanitizer")
qt_configure_add_summary_entry(ARGS "webengine-pepper-plugins")
qt_configure_add_summary_entry(ARGS "webengine-printing-and-pdf")
qt_configure_add_summary_entry(ARGS "webengine-proprietary-codecs")
diff --git a/src/core/api/qt_cmdline.cmake b/src/core/api/qt_cmdline.cmake
index f2c203afe..42dd6b240 100644
--- a/src/core/api/qt_cmdline.cmake
+++ b/src/core/api/qt_cmdline.cmake
@@ -1,13 +1,31 @@
-qt_commandline_option(webengine-alsa TYPE boolean NAME webengine-system-alsa)
qt_commandline_option(webengine-embedded-build TYPE boolean)
-qt_commandline_option(webengine-icu TYPE enum NAME webengine-system-icu MAPPING system yes qt no)
-qt_commandline_option(webengine-ffmpeg TYPE enum NAME webengine-system-ffmpeg MAPPING system yes qt no)
-qt_commandline_option(webengine-opus TYPE enum NAME webengine-system-opus MAPPING system yes qt no)
-qt_commandline_option(webengine-webp TYPE enum NAME webengine-system-libwebp MAPPING system yes qt no)
qt_commandline_option(webengine-pepper-plugins TYPE boolean)
qt_commandline_option(webengine-printing-and-pdf TYPE boolean)
qt_commandline_option(webengine-proprietary-codecs TYPE boolean)
-qt_commandline_option(webengine-pulseaudio TYPE boolean NAME webengine-system-pulseaudio)
qt_commandline_option(webengine-spellchecker TYPE boolean)
qt_commandline_option(webengine-native-spellchecker TYPE boolean)
qt_commandline_option(webengine-webrtc TYPE boolean)
+qt_commandline_option(webengine-full-debug-info TYPE boolean)
+qt_commandline_option(webengine-sanitizer TYPE boolean)
+
+qt_commandline_option(webengine-jumbo-build TYPE jumbo)
+function(qt_commandline_jumbo arg val nextok)
+ if ("${val}" STREQUAL "")
+ qtConfGetNextCommandlineArg(val)
+ endif()
+ if ("${val}" STREQUAL "no")
+ qtConfCommandlineSetInput(webengine_jumbo_file_merge_limit 0)
+ elseif("${val}" STREQUAL "")
+ qtConfCommandlineSetInput(webengine_jumbo_file_merge_limit 8)
+ elseif (val MATCHES "[0-9]+")
+ qtConfCommandlineSetInput(webengine_jumbo_file_merge_limit ${val})
+ else()
+ qtConfAddError("Invalid argument '${val}' to command line parameter '${arg}'")
+ endif()
+endfunction()
+
+set(systemLibs alsa ffmpeg freetype harfbuzz icu lcms2 libevent libjpeg
+ libpng libvpx libxml libwebp minizip opus pulseaudio re2 snappy zlib)
+foreach(slib ${systemLibs})
+ qt_commandline_option(webengine-${slib} TYPE enum NAME webengine-system-${slib} VALUES yes no system)
+endforeach()