diff options
author | Michal Klocek <michal.klocek@qt.io> | 2020-05-22 18:17:51 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2020-06-03 16:57:26 +0200 |
commit | 7906b030dc632557f6a2e8cbb471ebf38ef2121c (patch) | |
tree | df5b7bc59ec3e5a6d0e783ce9352508bf5380338 | |
parent | 943d8fea1a5dc5769cd35e18907d970bf9ef30d5 (diff) |
Split errorChecks for webengine and pdf
Separate error checks, so qtpdf can have own dependencies.
Change-Id: I9e538b875fe67448497f10dcd45c83782d98da2d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r-- | configure.pri | 61 | ||||
-rw-r--r-- | src/buildtools/config/support.pri | 209 | ||||
-rw-r--r-- | src/buildtools/configure.json | 30 | ||||
-rw-r--r-- | src/core/core.pro | 28 | ||||
-rw-r--r-- | src/pdf/pdf.pro | 21 | ||||
-rw-r--r-- | src/src.pro | 26 |
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 + |