diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-03-11 18:00:34 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-16 00:12:47 +0100 |
commit | be1116fe909a60341f714d5ce0765798a08722e7 (patch) | |
tree | cc578e1f4f69ff3a5171fdfededee2c4c63a2f08 /qmake | |
parent | b36cdba33932eb798c35b852560782a7a4276c6c (diff) |
make depend_prl more thorough; introduce fast_depend_prl
depend_prl would so far only ensure that the dependency existed, not
that it would be up to date. this is of only limited value, so make sure
that the dependencies are always updated.
as this is somewhat expensive (every dependency's makefile will be
entered as many times as it is used, plus one), provide an opt-out by
adding fast_depend_prl.
Task-number: QTBUG-29486
Change-Id: Ifa2e100bc4c269a403ab620927bfe5c7efe9a435
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/unix/unixmake2.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp index 2dfe16dbfc..400908bc91 100644 --- a/qmake/generators/unix/unixmake2.cpp +++ b/qmake/generators/unix/unixmake2.cpp @@ -349,7 +349,8 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) << project->first("QMAKE_EXTENSION_STATICLIB") << " "; t << endl << endl; } - if(project->isActiveConfig("depend_prl") && !project->isEmpty("QMAKE_PRL_INTERNAL_FILES")) { + if ((project->isActiveConfig("depend_prl") || project->isActiveConfig("fast_depend_prl")) + && !project->isEmpty("QMAKE_PRL_INTERNAL_FILES")) { const ProStringList &l = project->values("QMAKE_PRL_INTERNAL_FILES"); ProStringList::ConstIterator it; for(it = l.begin(); it != l.end(); ++it) { @@ -361,8 +362,12 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t) dir = (*it).left(slsh + 1); QString targ = dir + libinfo.first("QMAKE_PRL_TARGET"); target_deps += " " + targ; - t << targ << ":" << "\n\t" - << "@echo \"Creating '" << targ << "'\"" << "\n\t" + t << targ; + if (project->isActiveConfig("fast_depend_prl")) + t << ":\n\t@echo \"Creating '"; + else + t << ": FORCE\n\t@echo \"Creating/updating '"; + t << targ << "'\"" << "\n\t" << "(cd " << libinfo.first("QMAKE_PRL_BUILD_DIR") << ";" << "$(MAKE))" << endl; } |