path: root/qmake/project.h
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.h
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.h')
1 files changed, 2 insertions, 1 deletions
diff --git a/qmake/project.h b/qmake/project.h
index 43623a3974..4c99825317 100644
--- a/qmake/project.h
+++ b/qmake/project.h
@@ -85,7 +85,7 @@ class QMakeProject
QMakeProperty *prop;
void reset();
QStringList extra_configs;
- QHash<QString, QStringList> vars, base_vars;
+ QHash<QString, QStringList> vars, base_vars, extra_vars;
bool parse(const QString &text, QHash<QString, QStringList> &place, int line_count=1);
enum IncludeStatus {
@@ -119,6 +119,7 @@ public:
QMakeProject(QMakeProperty *p, const QHash<QString, QStringList> &nvars) { init(p, &nvars); }
+ void setExtraVars(const QHash<QString, QStringList> &_vars) { extra_vars = _vars; }
void setExtraConfigs(const QStringList &_cfgs) { extra_configs = _cfgs; }
enum { ReadProFile=0x01, ReadSetup=0x02, ReadFeatures=0x04, ReadAll=0xFF };