path: root/mkspecs/features/qt_module_headers.prf
diff options
authorOswald Buddenhagen <>2016-08-18 18:42:07 +0200
committerLars Knoll <>2016-08-19 04:26:54 +0000
commitce942a22653231bc780fa4026ea4bac3fa1fe0b9 (patch)
tree7065ceddef1377677ac56e4129a724872d4e4d71 /mkspecs/features/qt_module_headers.prf
parent34b95a643d0144e60d69dbae84953bb6a1a5c781 (diff)
sync timestamps also for forwarding headers to generated ones
this wasn't possible when these headers were still generated by syncqt, as the targets may have been still missing at that time. however, as we do that now with qmake, forwarding the timestamps is perfectly possible, and is consistent with what syncqt itself does for "regular" headers. the immediate problem this solves: when the early creation of the forwarding headers in is removed, they get created only when is processed. their timestamps would be after the timestamps of the already built bootstrapped libraries. if now the project files of these libs get re-created, qmake's not conditional-aware dependency scan would add these headers to the libs' deps, thus causing them to be re-built. the re-built tools would in turn cause all mocs and thus all libraries to be re-built. this would be particularly problematic if it happened between 'make' and 'make install' due to another bug ... Change-Id: I8d597f1f925369d93aaf3cc6c02e954eeae003a4 Reviewed-by: Lars Knoll <>
Diffstat (limited to 'mkspecs/features/qt_module_headers.prf')
1 files changed, 2 insertions, 0 deletions
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index c0050f08d1..acf0b4a1e8 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -111,12 +111,14 @@ for (injection, SYNCQT.INJECTIONS) {
MAIN_FWD = $$INC_PATH/include/$$MODULE_INCNAME/$$fwd_hdr
MAIN_FWD_CONT = '$${LITERAL_HASH}include "$$relative_path($$dst_hdr, $$dirname(MAIN_FWD))"'
write_file($$MAIN_FWD, MAIN_FWD_CONT)|error()
+ touch($$MAIN_FWD, $$dst_hdr)
injects = $$member(injects, 2, -1)
for (inject, injects) {
CLASS_FWD = $$INC_PATH/include/$$MODULE_INCNAME/$$inject
CLASS_FWD_CONT = '$${LITERAL_HASH}include "$$fwd_hdr"'
write_file($$CLASS_FWD, CLASS_FWD_CONT)|error()
+ touch($$CLASS_FWD, $$dst_hdr)