summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2019-04-15 12:41:52 +0200
committerJoerg Bornemann <joerg.bornemann@qt.io>2019-04-23 09:09:33 +0000
commitc2917243a96d19c9cd49c827e63d40b7c0110d7d (patch)
treec6fc1542353bec751be372a5437f67ca5e907b96
parent6a21dc9d734fbde681dc4bf01d41561766a4359c (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-xbin/syncqt.pl2
-rw-r--r--mkspecs/features/qt_module_headers.prf2
2 files changed, 2 insertions, 2 deletions
diff --git a/bin/syncqt.pl b/bin/syncqt.pl
index 972717efcf..7793811c9f 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 6b4b9143fa..37b69e31c8 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")