diff options
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/metamakefile.cpp | 4 | ||||
-rw-r--r-- | qmake/project.cpp | 4 | ||||
-rw-r--r-- | qmake/project.h | 3 |
3 files changed, 8 insertions, 3 deletions
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp index 55ab0a5af5..39dd4ab797 100644 --- a/qmake/generators/metamakefile.cpp +++ b/qmake/generators/metamakefile.cpp @@ -243,13 +243,13 @@ MakefileGenerator basecfgs = project->values(build + ".CONFIG"); basecfgs += build; basecfgs += "build_pass"; - basevars["CONFIG"] = basecfgs; basevars["BUILD_PASS"] = QStringList(build); QStringList buildname = project->values(build + ".name"); basevars["BUILD_NAME"] = (buildname.isEmpty() ? QStringList(build) : buildname); //create project - QMakeProject *build_proj = new QMakeProject(project->properties(), basevars); + QMakeProject *build_proj = new QMakeProject(project->properties()); + build_proj->setExtraVars(basevars); build_proj->setExtraConfigs(basecfgs); build_proj->read(project->projectFile()); 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); 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); } ~QMakeProject(); + 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 }; |