diff --git a/configure.json b/configure.json index 4801beb9433f45e56442a5c23c411a3b62fd0396..4b9288bbbaf6532dff0652e18403a86a2d2a49cf 100644 --- a/configure.json +++ b/configure.json @@ -10,7 +10,8 @@ ], "commandline": { "options": { - "webengine-core": "boolean" + "webengine-core": "boolean", + "webengine-jumbo-build": { "type": "optionalString", "name": "merge_limit"} } }, "libraries": { @@ -139,6 +140,11 @@ "webengine-xcb": { "label": "qtbase xcb", "type": "detectXcb" + }, + "webengine-jumbo-build": { + "label": "jumbo build merge limit", + "type": "detectJumboBuild", + "log": "merge_limit" } }, "features": { @@ -266,6 +272,14 @@ "label": "winversion", "condition": "config.win32 && tests.webengine-winversion", "output": [ "privateFeature" ] + }, + "webengine-jumbo-build": { + "label": "jumbo build merge batch", + "condition": "tests.webengine-jumbo-build", + "output": [ + "privateFeature", + { "type": "varAssign", "name": "QMAKE_JUMBO_MERGE_LIMIT", "value": "tests.webengine-jumbo-build.merge_limit" } + ] } }, "report": [ @@ -305,7 +319,11 @@ "section": "Build Tools", "entries": [ "webengine-system-ninja", - "webengine-system-gn" + "webengine-system-gn", + { + "message": "Jumbo Build Merge Limit", + "type": "jumboBuild" + } ] }, { diff --git a/configure.pri b/configure.pri index a90b066875affc87e47020ad942392e1c9404999..f946240533cc6cf860a48e42b7dca03ac44e371b 100644 --- a/configure.pri +++ b/configure.pri @@ -22,6 +22,26 @@ defineTest(isPythonVersionSupported) { return(false) } +defineTest(qtConfTest_detectJumboBuild) { + mergeLimit = $$eval(config.input.merge_limit) + mergeLimit = $$find(mergeLimit, "\\d") + isEmpty(mergeLimit): mergeLimit = 0 + qtLog("Setting jumbo build merge batch limit to $${mergeLimit}.") + $${1}.merge_limit = $$mergeLimit + export($${1}.merge_limit) + $${1}.cache += merge_limit + export($${1}.cache) + + return(true) +} + +defineTest(qtConfReport_jumboBuild) { + mergeLimit = $$eval(config.input.merge_limit) + mergeLimit = $$find(mergeLimit, "\d") + isEmpty(mergeLimit): mergeLimit = "no" + qtConfReportPadded($${1}, $$mergeLimit) +} + defineTest(qtConfTest_detectPython2) { python = $$qtConfFindInPath("python2$$EXE_SUFFIX") isEmpty(python) { diff --git a/src/core/config/common.pri b/src/core/config/common.pri index 019b77c49179cd00a636967096ae6807da8abbfa..df8aeb1ccf6f231271079a005ad65a6814910be2 100644 --- a/src/core/config/common.pri +++ b/src/core/config/common.pri @@ -28,10 +28,15 @@ gn_args += \ safe_browsing_mode=0 \ optimize_webui=false -!win32: gn_args += \ - use_jumbo_build=true \ - jumbo_file_merge_limit=8 \ - jumbo_build_excluded="[\"browser\"]" +greaterThan(QMAKE_JUMBO_MERGE_LIMIT,0) { + gn_args += \ + use_jumbo_build=true \ + jumbo_file_merge_limit=$$QMAKE_JUMBO_MERGE_LIMIT +} + +!greaterThan(QMAKE_JUMBO_MERGE_LIMIT,8) { + gn_args += jumbo_build_excluded="[\"browser\"]" +} qtConfig(webengine-printing-and-pdf) { gn_args += enable_basic_printing=true enable_print_preview=true