summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.pri61
-rw-r--r--src/buildtools/config/support.pri209
-rw-r--r--src/buildtools/configure.json30
-rw-r--r--src/core/core.pro28
-rw-r--r--src/pdf/pdf.pro21
-rw-r--r--src/src.pro26
6 files changed, 247 insertions, 128 deletions
diff --git a/configure.pri b/configure.pri
index 37a855177..9c7687eea 100644
--- a/configure.pri
+++ b/configure.pri
@@ -114,21 +114,17 @@ defineTest(qtwebengine_platformError) {
defineTest(qtConfTest_detectPlatform) {
QT_FOR_CONFIG += gui-private
- !linux:!win32:!macos:!ios {
- qtwebengine_platformError("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.")
- } else {
- linux:qtwebengine_isLinuxPlatformSupported() {
- $${1}.platform = "linux"
- }
- win32:qtwebengine_isWindowsPlatformSupported() {
- $${1}.platform = "windows"
- }
- macos:qtwebengine_isMacOsPlatformSupported() {
- $${1}.platform = "macos"
- }
- ios:qtwebengine_isMacOsPlatformSupported() {
- $${1}.platform = "ios"
- }
+ linux:qtwebengine_isLinuxPlatformSupported() {
+ $${1}.platform = "linux"
+ }
+ win32:qtwebengine_isWindowsPlatformSupported() {
+ $${1}.platform = "windows"
+ }
+ macos:qtwebengine_isMacOsPlatformSupported() {
+ $${1}.platform = "macos"
+ }
+ ios:qtwebengine_isMacOsPlatformSupported() {
+ $${1}.platform = "ios"
}
!isEmpty(platformError) {
@@ -385,19 +381,24 @@ defineTest(qtConfTest_detectNoWhitespace) {
return(true)
}
-defineTest(qtwebengine_confCheckError) {
+defineTest(qtwebengine_confCheckWebEngineCoreError) {
+ QT_FOR_CONFIG += buildtools-private gui-private
+ return($$qtwebengine_checkWebEngineCoreError())
+}
+
+defineTest(qtwebengine_confCheckPdfError) {
QT_FOR_CONFIG += buildtools-private gui-private
- return($$qtwebengine_checkError())
+ return($$qtwebengine_checkPdfError())
}
defineTest(qtwebengine_isLinuxPlatformSupported) {
!gcc|intel_icc {
- qtwebengine_platformError("Qt WebEngine on Linux requires clang or GCC.")
+ qtwebengine_platformError("requires clang or GCC.")
return(false)
}
gcc:!clang:!qtwebengine_isGCCVersionSupported(): return(false)
gcc:!qtConfig(c++14) {
- qtwebengine_platformError("C++14 support is required in order to build chromium.")
+ qtwebengine_platformError("requires c++14 support.")
return(false)
}
return(true)
@@ -405,19 +406,19 @@ defineTest(qtwebengine_isLinuxPlatformSupported) {
defineTest(qtwebengine_isWindowsPlatformSupported) {
winrt {
- qtwebengine_platformError("WinRT is not supported.")
+ qtwebengine_platformError("for WinRT is not supported.")
return(false)
}
qtwebengine_isBuildingOnWin32() {
- qtwebengine_platformError("Qt WebEngine on Windows must be built on a 64-bit machine.")
+ qtwebengine_platformError("must be built on a 64-bit machine.")
return(false)
}
!msvc|intel_icl {
- qtwebengine_platformError("Qt WebEngine on Windows requires MSVC or Clang (MSVC mode).")
+ qtwebengine_platformError("requires MSVC or Clang (MSVC mode).")
return(false)
}
!qtwebengine_isMinWinSDKVersion(10, 18362): {
- qtwebengine_platformError("Qt WebEngine on Windows requires a Windows SDK version 10.0.18362 or newer.")
+ qtwebengine_platformError("requires a Windows SDK version 10.0.18362 or newer.")
return(false)
}
return(true)
@@ -425,21 +426,21 @@ defineTest(qtwebengine_isWindowsPlatformSupported) {
defineTest(qtwebengine_isMacOsPlatformSupported) {
!qtwebengine_isMinXcodeVersion(10, 0, 0) {
- qtwebengine_platformError("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 10.0.0 is required to build Qt WebEngine or Qt Pdf.")
+ qtwebengine_platformError("requires at least version 10.0.0, but using Xcode version $${QMAKE_XCODE_VERSION}.")
return(false)
}
!clang|intel_icc {
- qtwebengine_platformError("Qt WebEngine and Qt Pdf requires Clang.")
+ qtwebengine_platformError("requires Clang.")
return(false)
}
# We require macOS 10.13 (darwin version 17.0.0) or newer.
darwin_major_version = $$section(QMAKE_HOST.version, ., 0, 0)
lessThan(darwin_major_version, 17) {
- qtwebengine_platformError("Building Qt WebEngine or Qt Pdf requires macOS version 10.13 or newer.")
+ qtwebengine_platformError("requires macOS version 10.13 or newer.")
return(false)
}
!qtwebengine_isMinOSXSDKVersion(10, 13): {
- qtwebengine_platformError("Building Qt WebEngine or Qt Pdf requires a macOS SDK version of 10.13 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
+ qtwebengine_platformError("requires a macOS SDK version of 10.13 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
return(false)
}
return(true)
@@ -449,7 +450,7 @@ defineTest(qtwebengine_isGCCVersionSupported) {
# Keep in sync with src/webengine/doc/src/qtwebengine-platform-notes.qdoc
greaterThan(QMAKE_GCC_MAJOR_VERSION, 4):return(true)
- qtwebengine_platformError("Using gcc version "$$QMAKE_GCC_MAJOR_VERSION"."$$QMAKE_GCC_MINOR_VERSION", but at least gcc version 5 is required to build Qt WebEngine.")
+ qtwebengine_platformError("requires at least gcc version 5, but using gcc version $${QMAKE_GCC_MAJOR_VERSION}.$${QMAKE_GCC_MINOR_VERSION}.")
return(false)
}
@@ -470,7 +471,7 @@ defineTest(qtwebengine_isMinOSXSDKVersion) {
WEBENGINE_OSX_SDK_PRODUCT_VERSION = $$system("/usr/bin/xcodebuild -sdk $$QMAKE_MAC_SDK -version ProductVersion 2>/dev/null")
export(WEBENGINE_OSX_SDK_PRODUCT_VERSION)
isEmpty(WEBENGINE_OSX_SDK_PRODUCT_VERSION) {
- qtwebengine_platformError("Could not resolve SDK product version for \'$$QMAKE_MAC_SDK\'.")
+ qtwebengine_platformError("requires SDK product version, but could not resolve it for \'$$QMAKE_MAC_SDK\'.")
return(false)
}
major_version = $$section(WEBENGINE_OSX_SDK_PRODUCT_VERSION, ., 0, 0)
@@ -511,7 +512,7 @@ defineTest(qtwebengine_isMinWinSDKVersion) {
WIN_SDK_VERSION = $$(WindowsSDKVersion)
isEmpty(WIN_SDK_VERSION)|equals(WIN_SDK_VERSION, "\\") {
- qtwebengine_platformError("Could not detect Windows SDK version (\'WindowsSDKVersion\' environment variable is not set).")
+ qtwebengine_platformError("requires Windows SDK version, but could not detect it (\'WindowsSDKVersion\' environment variable is not set).")
return(false)
}
diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri
index 51ed0e42e..6768f0a15 100644
--- a/src/buildtools/config/support.pri
+++ b/src/buildtools/config/support.pri
@@ -1,148 +1,243 @@
defineTest(qtwebengine_skipBuild) {
- isEmpty(skipBuildReason): skipBuildReason = $$1
- else: skipBuildReason = "$$skipBuildReason $${EOL}$$1"
+ skipBuildReason = $$1
export(skipBuildReason)
}
# this should match webengine-core-support
-defineReplace(qtwebengine_checkError) {
+defineReplace(qtwebengine_checkWebEngineCoreError) {
+ !linux:!win32:!macos {
+ qtwebengine_skipBuild("QtWebEngine can be build only on Linux, Windows or macOS.")
+ return(false)
+ }
+ static {
+ qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.")
+ return(false)
+ }
+ !qtwebengine_checkForGui(QtWebEngine):return(false)
+ !qtwebengine_checkForSubmodule(QtWebEngine):return(false)
+ !qtwebengine_checkForWhiteSpace(QtWebEngine):return(false)
+ !qtwebengine_checkForPlatform(QtWebEngine):return(false)
+ !qtwebengine_checkForArch(QtWebEngine):return(false)
+ !qtwebengine_checkForGperf(QtWebEngine):return(false)
+ !qtwebengine_checkForBison(QtWebEngine):return(false)
+ !qtwebengine_checkForFlex(QtWebEngine):return(false)
+ !qtwebengine_checkForPython2(QtWebengine):return(false)
+ !qtwebengine_checkForSanitizer(QtWebEngine):return(false)
+ linux:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false)
+ linux:!qtwebengine_checkForHostPkgCfg(QtWebEngine):return(false)
+ linux:!qtwebengine_checkForGlibc(QtWebEngine):return(false)
+ linux:!qtwebengine_checkForKhronos(QtWebEngine):return(false)
+ linux:!qtwebengine_checkForPackage(QtWebEngine,nss):return(false)
+ linux:!qtwebengine_checkForPackage(QtWebEngine,dbus):return(false)
+ linux:!qtwebengine_checkForPackage(QtWebEngine,fontconfig):return(false)
+ linux:!qtwebengine_checkForQpaXcb(QtWebEngine):return(false)
+ win32:!qtwebengine_checkForCompiler64(QtWebEngine):return(false)
+ win32:!qtwebengine_checkForWinVersion(QtWebEngine):return(false)
+ return(true)
+}
+
+# this shuold match webengine-qtpdf-support
+defineReplace(qtwebengine_checkPdfError) {
+ !qtwebengine_checkForGui(QtPdf):return(false)
+ !qtwebengine_checkForSubmodule(QtPdf):return(false)
+ !qtwebengine_checkForWhiteSpace(QtPdf):return(false)
+ !qtwebengine_checkForPlatform(QtPdf):return(false)
+ !qtwebengine_checkForArch(QtPdf):return(false)
+ !qtwebengine_checkForGperf(QtPdf):return(false)
+ !qtwebengine_checkForBison(QtPdf):return(false)
+ !qtwebengine_checkForFlex(QtPdf):return(false)
+ !qtwebengine_checkForPython2(QtPdf):return(false)
+ !qtwebengine_checkForSanitizer(QtPdf):return(false)
+ linux:!qtwebengine_checkForPkgCfg(QtPdf):return(false)
+ linux:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false)
+ win32:!qtwebengine_checkForWinVersion(QtPdf):return(false)
+ return(true)
+}
+defineTest(qtwebengine_checkForGui) {
+ module = $$1
!qtHaveModule(gui) {
- qtwebengine_skipBuild("QtWebEngine requires QtGui.")
+ qtwebengine_skipBuild("$${module} requires QtGui.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForSubmodule) {
+ module = $$1
!qtConfig(webengine-submodule) {
- qtwebengine_skipBuild("QtWebEngine required submodule qtwebengine-chromium does not exist. Run 'git submodule update --init'.")
+ qtwebengine_skipBuild("$${module} required submodule qtwebengine-chromium does not exist. Run 'git submodule update --init'.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForWhiteSpace) {
+ module = $$1
!qtConfig(webengine-nowhitespace) {
- qtwebengine_skipBuild("QtWebEngine cannot be built in a path that contains whitespace characters.")
+ qtwebengine_skipBuild("$${module} cannot be built in a path that contains whitespace characters.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForPlatform) {
+ module = $$1
qtConfig(webengine-no-platform-support) {
!isEmpty(platformError) {
- qtwebengine_skipBuild($$platformError)
+ qtwebengine_skipBuild("$${module} $${platformError}")
return(false)
}
!isEmpty(QTWEBENGINE_OUT_ROOT) {
include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
QT_FOR_CONFIG += buildtools-private
- qtwebengine_skipBuild($$PLATFORM_ERROR)
- return(false)
+ !isEmpty(PLATFORM_ERROR) {
+ qtwebengine_skipBuild("$${module} $${PLATFORM_ERROR}")
+ return(false)
+ }
}
- qtwebengine_skipBuild("QtWebEngine will not be built. Platform unsupported.") # re-run of configure when topLevel build
+ qtwebengine_skipBuild("$${module} will not be built. Platform unsupported.")
return(false):
}
+ return(true)
+}
+defineTest(qtwebengine_checkForArch) {
+ module = $$1
!qtConfig(webengine-arch-support) {
- qtwebengine_skipBuild("QtWebEngine can only be built for x86, x86-64, ARM, Aarch64, and MIPSel architectures.")
+ qtwebengine_skipBuild("$${module} can only be built for x86, x86-64, ARM, Aarch64, and MIPSel architectures.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForGperf) {
+ module = $$1
!qtConfig(webengine-gperf) {
- qtwebengine_skipBuild("Tool gperf is required to build QtWebEngine.")
+ qtwebengine_skipBuild("Tool gperf is required to build $${module}.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForBison) {
+ module = $$1
!qtConfig(webengine-bison) {
- qtwebengine_skipBuild("Tool bison is required to build QtWebEngine.")
+ qtwebengine_skipBuild("Tool bison is required to build $${module}.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForFlex) {
+ module = $$1
!qtConfig(webengine-flex) {
- qtwebengine_skipBuild("Tool flex is required to build QtWebEngine.")
+ qtwebengine_skipBuild("Tool flex is required to build $${module}.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForPython2) {
+ module = $$1
!qtConfig(webengine-python2) {
- qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build QtWebEngine.")
+ qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build $${module}.")
return(false)
}
-
- linux:!qtwebengine_checkErrorForLinux():return(false)
- win32:!qtwebengine_checkErrorForWindows():return(false)
- macos:!qtwebengine_checkErrorForMacOS():return(false)
-
- sanitizer: !qtConfig(webengine-sanitizer) {
- qtwebengine_skipBuild("Chosen sanitizer configuration is not supported for QtWebEngine. Check config.log for details or use -feature-webengine-sanitizer to force build with the chosen sanitizer configuration.")
- return(false);
- }
-
return(true)
}
-defineTest(qtwebengine_checkErrorFoMacOS) {
- static {
- qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.")
- return(false)
+defineTest(qtwebengine_checkForSanitizer) {
+ module = $$1
+ sanitizer:!qtConfig(webengine-sanitizer) {
+ qtwebengine_skipBuild("Chosen sanitizer configuration is not supported for $${module}." \
+ "Check config.log for details or use -feature-webengine-sanitizer to force build with the chosen sanitizer configuration.")
+ return(false);
}
+ return(true)
}
-defineTest(qtwebengine_checkErrorForLinux) {
-
- static {
- qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.")
- return(false)
- }
-
+defineTest(qtwebengine_checkForPkgCfg) {
+ module = $$1
!qtConfig(pkg-config) {
- qtwebengine_skipBuild("A pkg-config support is required to build QtWebEngine.")
+ qtwebengine_skipBuild("A pkg-config support is required to build $${module}.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForHostPkgCfg) {
+ module = $$1
!qtConfig(webengine-host-pkg-config) {
- qtwebengine_skipBuild("Host pkg-config is required to build QtWebEngine.")
+ qtwebengine_skipBuild("Host pkg-config is required to build $${module}.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForGlibc) {
+ module = $$1
!qtConfig(webengine-system-glibc) {
- qtwebengine_skipBuild("A suitable version >= 2.27 of libc required to build QtWebEngine could not be found.")
+ qtwebengine_skipBuild("A suitable version >= 2.27 of libc required to build $${module} could not be found.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForKhronos) {
+ module = $$1
!qtConfig(webengine-system-khr) {
- qtwebengine_skipBuild("Khronos development headers required to build QtWebEngine are missing (see mesa/libegl1-mesa-dev)")
+ qtwebengine_skipBuild("Khronos development headers required to build $${module} are missing (see mesa/libegl1-mesa-dev)")
return(false)
}
+ return(true)
+}
- for(package, $$list("nss dbus fontconfig")) {
- !qtConfig(webengine-system-$$package) {
- qtwebengine_skipBuild("A suitable version of $$package required to build QtWebEngine could not be found.")
- return(false)
- }
+defineTest(qtwebengine_checkForPackage) {
+ module = $$1
+ package = $$2
+ !qtConfig(webengine-system-$$package) {
+ qtwebengine_skipBuild("A suitable version of $$package required to build QtWebEngine could not be found.")
+ return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForQpaXcb) {
+ module = $$1
qtConfig(pkg-config):qtConfig(xcb):!qtConfig(webengine-ozone-x11) {
- qtwebengine_skipBuild("Could not find all necessary libraries for qpa-xcb support in QtWebEngine.")
+ qtwebengine_skipBuild("Could not find all necessary libraries for qpa-xcb support in $${module}.")
return(false)
}
return(true)
}
-defineTest(qtwebengine_checkErrorForWindows) {
-
- static {
- qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.")
- return(false)
- }
-
+defineTest(qtwebengine_checkForCompiler64) {
+ module = $$1
!qtConfig(webengine-win-compiler64) {
- qtwebengine_skipBuild("64-bit cross-building or native toolchain required to build QtWebEngine could not be found.")
+ qtwebengine_skipBuild("64-bit cross-building or native toolchain required to build $${module} could not be found.")
return(false)
}
+ return(true)
+}
+defineTest(qtwebengine_checkForWinVersion) {
+ module = $$1
!qtConfig(webengine-winversion) {
- qtwebengine_skipBuild("QtWebEngine needs Visual Studio 2017 or higher.")
+ qtwebengine_skipBuild("$${module} requires Visual Studio 2017 or higher.")
return(false)
}
return(true)
}
-defineTest(qtwebengine_makeCheckError) {
+defineTest(qtwebengine_makeCheckWebEngineCoreError) {
+ include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
+ QT_FOR_CONFIG += buildtools-private gui-private
+ return($$qtwebengine_checkWebEngineCoreError())
+}
+
+defineTest(qtwebengine_makeCheckPdfError) {
include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
QT_FOR_CONFIG += buildtools-private gui-private
- return($$qtwebengine_checkError())
+ return($$qtwebengine_checkPdfError())
}
diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json
index 1511bb059..96727a148 100644
--- a/src/buildtools/configure.json
+++ b/src/buildtools/configure.json
@@ -357,7 +357,9 @@
"features": {
"webengine-core-support": {
"label": "Support Qt WebEngine Core",
- "condition": "module.gui
+ "condition": "(config.linux || config.win32 || config.macos)
+ && !config.static
+ && module.gui
&& features.webengine-submodule
&& features.webengine-nowhitespace
&& !features.webengine-no-platform-support
@@ -366,8 +368,6 @@
&& features.webengine-bison
&& features.webengine-flex
&& features.webengine-python2
- && !config.static
- && !config.ios
&& (!config.sanitizer || features.webengine-sanitizer)
&& (!config.linux || features.pkg-config)
&& (!config.linux || features.webengine-host-pkg-config)
@@ -384,15 +384,17 @@
"webengine-qtpdf-support": {
"label": "Support Qt Pdf",
"condition": "module.gui
- && features.webengine-python2
- && features.webengine-gperf
- && features.webengine-bison
- && features.webengine-flex
&& features.webengine-submodule
&& features.webengine-nowhitespace
- && features.webengine-arch-support
&& !features.webengine-no-platform-support
+ && features.webengine-arch-support
+ && features.webengine-gperf
+ && features.webengine-bison
+ && features.webengine-flex
+ && features.webengine-python2
+ && (!config.sanitizer || features.webengine-sanitizer)
&& (!config.linux || features.pkg-config)
+ && (!config.linux || features.webengine-host-pkg-config)
&& (!config.win32 || features.webengine-winversion)",
"output": [ "privateFeature" ]
},
@@ -673,9 +675,13 @@
"report": [
{
"type": "skipBuildWarning",
- "condition": "(!features.webengine-core-support && features.build-qtwebengine-core) ||
- (!features.webengine-qtpdf-support && features.build-qtpdf)",
- "message": "qtwebengine_confCheckError"
+ "condition": "!features.webengine-core-support && features.build-qtwebengine-core",
+ "message": "qtwebengine_confCheckWebEngineCoreError"
+ },
+ {
+ "type": "skipBuildWarning",
+ "condition": "!features.webengine-qtpdf-support && features.build-qtpdf",
+ "message": "qtwebengine_confCheckPdfError"
},
{
"type": "note",
@@ -741,7 +747,7 @@
"webengine-system-xi",
"webengine-system-xtst"
]
- },
+ },
{
"section": "Optional system libraries used",
"condition": "config.unix",
diff --git a/src/core/core.pro b/src/core/core.pro
index 9709e62c3..3b7aea4f0 100644
--- a/src/core/core.pro
+++ b/src/core/core.pro
@@ -1,3 +1,5 @@
+include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
+QT_FOR_CONFIG += buildtools-private
TEMPLATE = subdirs
# core_headers is a dummy module to syncqt the headers so we can
@@ -9,8 +11,6 @@ core_api.file = api/core_api.pro
core_module.file = core_module.pro
core_module.depends = core_api
-# core_generator.pro is a dummy .pro file that is used by qmake
-# to generate our main .gyp/BUILD.gn file
core_generator.file = core_generator.pro
core_generator.depends = core_headers
@@ -26,11 +26,19 @@ core_api.depends = gn_run
core_project.file = core_project.pro
core_project.depends = gn_run
-SUBDIRS += \
- core_headers \
- core_generator \
- gn_run \
- core_api \
- core_module
-
-false: SUBDIRS += core_project
+!qtConfig(webengine-core-support):qtConfig(build-qtwebengine-core):!qtwebengine_makeCheckWebEngineCoreError():!build_pass {
+ errorbuild.commands = @echo $$shell_quote(QtWebEngineCore module will not be built. $${skipBuildReason})
+ errorbuild.CONFIG = phony
+ QMAKE_EXTRA_TARGETS += errorbuild
+ first.depends += errorbuild
+ QMAKE_EXTRA_TARGETS += first
+} else {
+ SUBDIRS += \
+ core_headers \
+ core_generator \
+ gn_run \
+ core_api \
+ core_module
+
+ false: SUBDIRS += core_project
+}
diff --git a/src/pdf/pdf.pro b/src/pdf/pdf.pro
index c5513ce93..e8cc031d5 100644
--- a/src/pdf/pdf.pro
+++ b/src/pdf/pdf.pro
@@ -1,3 +1,5 @@
+include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
+QT_FOR_CONFIG += buildtools-private
TEMPLATE = subdirs
pdfcore.file = pdfcore.pro
pdfcore_generator.file = pdfcore_generator.pro
@@ -7,10 +9,17 @@ gn_run.depends = pdfcore_generator
pdfcore.depends = gn_run
quick.depends = pdfcore
-SUBDIRS += \
- pdfcore_generator \
- gn_run \
- pdfcore \
- quick
-
+!qtConfig(webengine-qtpdf-support):qtConfig(build-qtpdf):!qtwebengine_makeCheckPdfError():!isEmpty(skipBuildReason):!build_pass {
+ errorbuild.commands = @echo $$shell_quote(QtPdf will not be built. $${skipBuildReason})
+ errorbuild.CONFIG = phony
+ QMAKE_EXTRA_TARGETS += errorbuild
+ first.depends += errorbuild
+ QMAKE_EXTRA_TARGETS += first
+} else {
+ SUBDIRS += \
+ pdfcore_generator \
+ gn_run \
+ pdfcore \
+ quick
+}
diff --git a/src/src.pro b/src/src.pro
index 063c148b5..7e82b8296 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -7,12 +7,17 @@ include($$QTWEBENGINE_OUT_ROOT/src/webenginewidgets/qtwebenginewidgets-config.pr
include($$QTWEBENGINE_OUT_ROOT/src/pdf/qtpdf-config.pri)
include($$QTWEBENGINE_OUT_ROOT/src/pdfwidgets/qtpdfwidgets-config.pri)
-QT_FOR_CONFIG += buildtools-private webenginecore webenginecore-private webengine-private \
- webenginewidgets-private pdf-private pdfwidgets-private
+QT_FOR_CONFIG += \
+ buildtools-private \
+ webenginecore \
+ webenginecore-private \
+ webengine-private \
+ webenginewidgets-private \
+ pdf-private \
+ pdfwidgets-private
TEMPLATE = subdirs
-
qtConfig(build-qtwebengine-core):qtConfig(webengine-core-support) {
core.depends = buildtools
process.depends = core
@@ -43,9 +48,9 @@ qtConfig(build-qtwebengine-core):qtConfig(webengine-core-support) {
qtConfig(build-qtpdf):qtConfig(webengine-qtpdf-support) {
pdf.depends = buildtools
qtConfig(build-qtwebengine-core):qtConfig(webengine-core-support): pdf.depends += core
- SUBDIRS += pdf
!contains(SUBDIRS, buildtools): SUBDIRS += buildtools
!contains(SUBDIRS, plugins): SUBDIRS += plugins
+ SUBDIRS += pdf
plugins.depends += pdf
qtConfig(pdf-widgets) {
pdfwidgets.depends = pdf
@@ -53,12 +58,7 @@ qtConfig(build-qtpdf):qtConfig(webengine-qtpdf-support) {
}
}
-!qtConfig(webengine-core-support):if(qtConfig(build-qtwebengine-core)|qtConfig(build-qtpdf)) {
- !qtwebengine_makeCheckError():!isEmpty(skipBuildReason):!build_pass {
- errorbuild.commands = @echo Modules will not be built. $${skipBuildReason}
- errorbuild.CONFIG = phony
- QMAKE_EXTRA_TARGETS += errorbuild
- first.depends += errorbuild
- QMAKE_EXTRA_TARGETS += first
- }
-}
+# this needs to be last line for qmake -r
+!contains(SUBDIRS, core): SUBDIRS += core
+!contains(SUBDIRS, pdf): SUBDIRS += pdf
+