path: root/qmake/project.cpp
diff options
authorOswald Buddenhagen <>2012-02-21 12:56:47 +0100
committerQt by Nokia <>2012-03-02 21:33:08 +0100
commitdce3821b8a6dfbb041d7ecec8b97c960b0e08c51 (patch)
tree6284c89a29c19bd188cf89fe2c0adbebf7e98074 /qmake/project.cpp
parentcd6e90c70ac13065257422088ffa01537ed9c685 (diff)
make evaluation of spec+cache independent of build pass context
don't inject the build pass specific variables into the project even before evaluating the .spec file and the .qmake.cache. they are not supposed to base configuration on that - feature files should do that later. the immediate advantage of this is that base_vars is never manipulated upfront any more, which allows for cleaner setup paths. also, we can do more caching of the spec+cache contents. Change-Id: I19d7f8bec1fb7c3b54121e26794340b287055ebf Reviewed-by: Joerg Bornemann <>
Diffstat (limited to 'qmake/project.cpp')
1 files changed, 4 insertions, 0 deletions
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 8aa3ed2ed6..208d5b7d3e 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -1292,6 +1292,10 @@ QMakeProject::read(uchar cmd)
vars = base_vars; // start with the base
+ for (QHash<QString, QStringList>::ConstIterator it = extra_vars.constBegin();
+ it != extra_vars.constEnd(); ++it)
+ vars.insert(it.key(), it.value());
if(cmd & ReadFeatures) {
debug_msg(1, "Processing default_pre: %s", vars["CONFIG"].join("::").toLatin1().constData());
doProjectInclude("default_pre", IncludeFlagFeature, vars);