diff options
| author | Joerg Bornemann <joerg.bornemann@qt.io> | 2019-04-15 12:41:52 +0200 |
|---|---|---|
| committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2019-04-23 09:09:33 +0000 |
| commit | c2917243a96d19c9cd49c827e63d40b7c0110d7d (patch) | |
| tree | c6fc1542353bec751be372a5437f67ca5e907b96 | |
| parent | 6a21dc9d734fbde681dc4bf01d41561766a4359c (diff) | |
syncqt: Fix resolution of injected headers for external modules
Injected headers were made relative to MODULE_BASE_OUTDIR by syncqt
and made absolute by resolving against REAL_MODULE_BASE_OUTDIR.
This breaks for modules that reside outside the original Qt source
tree (if the directory depth doesn't coincidentally match).
Now, we resolve injected headers against build_basedir, which is
REAL_MODULE_BASE_OUTDIR. To emphasize the equivalence of
REAL_MODULE_BASE_OUTDIR and syncqt's build_basedir, use the former for
syncqt's -output argument.
This commit amends 2aa779e8.
Fixes: QTBUG-70587
Change-Id: I2935d87d7ee681fa4aa795a270b94ab7a43abe59
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| -rwxr-xr-x | bin/syncqt.pl | 2 | ||||
| -rw-r--r-- | mkspecs/features/qt_module_headers.prf | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/bin/syncqt.pl b/bin/syncqt.pl index 972717efcfa..7793811c9f0 100755 --- a/bin/syncqt.pl +++ b/bin/syncqt.pl @@ -1111,7 +1111,7 @@ foreach my $lib (@modules_to_sync) { elsif (!$shadow) { $pri_install_pfiles.= "$pri_install_iheader ";; } - $pri_injections .= fixPaths($iheader, $out_basedir) + $pri_injections .= fixPaths($iheader, $build_basedir) .":".($no_stamp ? "^" : "").fixPaths($oheader, "$out_basedir/include/$lib") .$injection." " if ($shadow); } diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf index 6b4b9143fa5..37b69e31c82 100644 --- a/mkspecs/features/qt_module_headers.prf +++ b/mkspecs/features/qt_module_headers.prf @@ -23,7 +23,7 @@ load(qt_build_paths) QMAKE_SYNCQT += -module $$mod QMAKE_SYNCQT += \ -version $$VERSION -outdir $$system_quote($$MODULE_BASE_OUTDIR) \ - -builddir $$system_quote($$shadowed($$MODULE_BASE_INDIR)) $$MODULE_SYNCQT_DIR + -builddir $$system_quote($$REAL_MODULE_BASE_OUTDIR) $$MODULE_SYNCQT_DIR !silent: message($$QMAKE_SYNCQT) system($$QMAKE_SYNCQT)|error("Failed to run: $$QMAKE_SYNCQT") |
