make setting a bad $$[QMAKEFEATURES] not crash qmake

Task-number: QTBUG-29642
Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/50a90720be7d67dcdfe704a82fb3b1138edd2aab)
This commit is contained in:
Oswald Buddenhagen
2013-09-05 18:30:05 +02:00
parent 4d75cb93a3
commit dd2425eb02
3 changed files with 17 additions and 12 deletions

View File

@@ -258,6 +258,19 @@ QString QMakeGlobals::shadowedPath(const QString &fileName) const
return QString();
}
QStringList QMakeGlobals::splitPathList(const QString &val) const
{
QStringList ret;
if (!val.isEmpty()) {
QDir bdir;
QStringList vals = val.split(dirlist_sep);
ret.reserve(vals.length());
foreach (const QString &it, vals)
ret << QDir::cleanPath(bdir.absoluteFilePath(it));
}
return ret;
}
QString QMakeGlobals::getEnv(const QString &var) const
{
#ifdef PROEVALUATOR_SETENV
@@ -269,16 +282,7 @@ QString QMakeGlobals::getEnv(const QString &var) const
QStringList QMakeGlobals::getPathListEnv(const QString &var) const
{
QStringList ret;
QString val = getEnv(var);
if (!val.isEmpty()) {
QDir bdir;
QStringList vals = val.split(dirlist_sep);
ret.reserve(vals.length());
foreach (const QString &it, vals)
ret << QDir::cleanPath(bdir.absoluteFilePath(it));
}
return ret;
return splitPathList(getEnv(var));
}
QString QMakeGlobals::expandEnvVars(const QString &str) const