path: root/qmake/generators/metamakefile.cpp
diff options
authorJoerg Bornemann <>2019-09-30 14:23:55 +0200
committerJoerg Bornemann <>2019-10-03 20:28:03 +0200
commit5ab8efd66a1a3c56f04a393ed1fe558ec8c1ba5c (patch)
tree64162f2b1ddfeb337d049cd36506c96e9fe9dc7c /qmake/generators/metamakefile.cpp
parentce5dc3193279cdbcc34b583151ba05464444dd5a (diff)
Make conflicting targets check less strict
People tend to "turn off debug and release builds" by just not building one of the variants. For example, Qt's own rcc is built in release only, however it is configured for debug_and_release with the same TARGET for both. Let qmake complain about conflicting TARGETs only we're about to build all of those conflicting targets, i.e. if build_all is set. Change-Id: I0448bf5cb421e2d801d3cc30e0d80353fba0d999 Reviewed-by: Friedemann Kleint <> Reviewed-by: Oliver Wolff <>
Diffstat (limited to 'qmake/generators/metamakefile.cpp')
1 files changed, 4 insertions, 0 deletions
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index 22a72100f7..b8b93bc8cb 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -252,6 +252,10 @@ void BuildsMetaMakefileGenerator::checkForConflictingTargets() const
// and the last entry in makefiles is the "glue" Build.
+ if (!project->isActiveConfig("build_all")) {
+ // Only complain if we're about to build all configurations.
+ return;
+ }
using TargetInfo = std::pair<Build *, ProString>;
QVector<TargetInfo> targets;
const int last = makefiles.count() - 1;