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 qtbase.pro is removed, they get created only when corelib.pro 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 <lars.knoll@qt.io>bb10
parent
34b95a643d
commit
ce942a2265
|
|
@ -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)
|
||||
!git_build: QMAKE_DISTCLEAN += $$MAIN_FWD
|
||||
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)
|
||||
!git_build: QMAKE_DISTCLEAN += $$CLASS_FWD
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue