From df175f190d17b3473ef4257cd393eda679060651 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 6 Sep 2012 12:21:38 +0200 Subject: introduce qmake variable abstractions this is preparation for adapting to a new evaluator. Change-Id: I6fc59f5525735754a00afa6629fbfe257e84db97 Reviewed-by: Daniel Teske Reviewed-by: Joerg Bornemann --- qmake/project.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'qmake/project.cpp') diff --git a/qmake/project.cpp b/qmake/project.cpp index 4f26db8bb0..9fa9ac05a5 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -574,14 +574,14 @@ QStringList QMakeProject::qmakeFeaturePaths() const QString mkspecs_concat = QLatin1String("/mkspecs"); const QString base_concat = QLatin1String("/features"); QStringList concat; - foreach (const QString &sfx, values("QMAKE_PLATFORM")) + foreach (const QString &sfx, values("QMAKE_PLATFORM", vars)) concat << base_concat + QLatin1Char('/') + sfx; concat << base_concat; QStringList feature_roots = splitPathList(QString::fromLocal8Bit(qgetenv("QMAKEFEATURES"))); feature_roots += cached_qmakefeatures; if(prop) - feature_roots += splitPathList(prop->value("QMAKEFEATURES")); + feature_roots += splitPathList(prop->value("QMAKEFEATURES").toQString()); QStringList feature_bases; if (!cached_build_root.isEmpty()) feature_bases << cached_build_root; @@ -697,7 +697,7 @@ QMakeProject::cleanup() QMakeProject::QMakeProject(QMakeProject *p, const QHash *_vars) { init(p->properties()); - vars = _vars ? *_vars : p->variables(); + vars = _vars ? *_vars : p->vars; host_build = p->host_build; for(QHash::iterator it = p->replaceFunctions.begin(); it != p->replaceFunctions.end(); ++it) { it.value()->ref(); @@ -1487,7 +1487,7 @@ QMakeProject::read(uchar cmd) #else // We can't resolve symlinks as they do on Unix, so configure.exe puts the source of the // qmake.conf at the end of the default/qmake.conf in the QMAKESPEC_ORG variable. - QString orig_spec = first(QLatin1String("QMAKESPEC_ORIGINAL")); + QString orig_spec = first(ProKey("QMAKESPEC_ORIGINAL")).toQString(); real_spec = orig_spec.isEmpty() ? qmakespec : orig_spec; #endif vars["QMAKESPEC"] << real_spec; @@ -1496,7 +1496,7 @@ QMakeProject::read(uchar cmd) // The spec extends the feature search path, so invalidate the cache. invalidateFeatureRoots(); // The MinGW and x-build specs may change the separator; $$shell_{path,quote}() need it - Option::dir_sep = first(QLatin1String("QMAKE_DIR_SEP")); + Option::dir_sep = first("QMAKE_DIR_SEP").toQString(); if (!conffile.isEmpty()) { debug_msg(1, "Project config file: reading %s", conffile.toLatin1().constData()); @@ -1521,9 +1521,9 @@ QMakeProject::read(uchar cmd) doProjectInclude("spec_pre", IncludeFlagFeature, vars); } - for (QHash::ConstIterator it = extra_vars.constBegin(); + for (ProValueMap::ConstIterator it = extra_vars.constBegin(); it != extra_vars.constEnd(); ++it) - vars.insert(it.key(), it.value()); + vars.insert(it.key().toQString(), it.value().toQStringList()); if(cmd & ReadFeatures) { debug_msg(1, "Processing default_pre: %s", vars["CONFIG"].join("::").toLatin1().constData()); @@ -1861,11 +1861,11 @@ QMakeProject::doProjectInclude(QString file, uchar flags, QHash sc = scope_blocks; IteratorBlock *it = iterator; @@ -3520,10 +3520,10 @@ QMakeProject::test(const QString &v) } bool -QMakeProject::test(const QString &func, const QList &args) +QMakeProject::test(const ProKey &func, const QList &args) { QHash tmp = vars; - return doProjectTest(func, args, tmp); + return doProjectTest(func.toQString(), *(const QList *)&args, tmp); } QStringList @@ -3552,10 +3552,10 @@ QMakeProject::expand(const QString &str, const QString &file, int line) } QStringList -QMakeProject::expand(const QString &func, const QList &args) +QMakeProject::expand(const ProKey &func, const QList &args) { QHash tmp = vars; - return doProjectExpand(func, args, tmp); + return doProjectExpand(func.toString().toQString(), *(const QList *)&args, tmp); } bool @@ -3680,7 +3680,7 @@ QMakeProject::doVariableReplaceExpand(const QString &str, QHashvalue(var)); + replacement = split_value_list(prop->value(ProKey(var)).toQString()); } else if(var_type == FUNCTION) { replacement = doProjectExpand(var, args, place); } else if(var_type == VAR) { @@ -3776,9 +3776,9 @@ QStringList &QMakeProject::values(const QString &_var, QHash::ConstIterator it = vars.constFind(v); + QHash::ConstIterator it = vars.constFind(v.toQString()); return it == vars.constEnd() || it->isEmpty(); } -- cgit v1.2.3