make setting a bad $$[QMAKEFEATURES] not crash qmake
Task-number: QTBUG-29642 Change-Id: I9cc209eb313f03bf342bcb64b1de3005755700a7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
parent
51c04e292e
commit
50a90720be
@ -1452,8 +1452,8 @@ void QMakeEvaluator::updateFeaturePaths()
|
|||||||
|
|
||||||
feature_roots += m_qmakefeatures;
|
feature_roots += m_qmakefeatures;
|
||||||
|
|
||||||
feature_roots += m_option->propertyValue(ProKey("QMAKEFEATURES")).toQString(m_mtmp).split(
|
feature_roots += m_option->splitPathList(
|
||||||
m_option->dirlist_sep, QString::SkipEmptyParts);
|
m_option->propertyValue(ProKey("QMAKEFEATURES")).toQString(m_mtmp));
|
||||||
|
|
||||||
QStringList feature_bases;
|
QStringList feature_bases;
|
||||||
if (!m_buildRoot.isEmpty()) {
|
if (!m_buildRoot.isEmpty()) {
|
||||||
|
@ -270,6 +270,19 @@ QString QMakeGlobals::shadowedPath(const QString &fileName) const
|
|||||||
return QString();
|
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
|
QString QMakeGlobals::getEnv(const QString &var) const
|
||||||
{
|
{
|
||||||
#ifdef PROEVALUATOR_SETENV
|
#ifdef PROEVALUATOR_SETENV
|
||||||
@ -281,16 +294,7 @@ QString QMakeGlobals::getEnv(const QString &var) const
|
|||||||
|
|
||||||
QStringList QMakeGlobals::getPathListEnv(const QString &var) const
|
QStringList QMakeGlobals::getPathListEnv(const QString &var) const
|
||||||
{
|
{
|
||||||
QStringList ret;
|
return splitPathList(getEnv(var));
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString QMakeGlobals::expandEnvVars(const QString &str) const
|
QString QMakeGlobals::expandEnvVars(const QString &str) const
|
||||||
|
@ -147,6 +147,7 @@ public:
|
|||||||
|
|
||||||
QString expandEnvVars(const QString &str) const;
|
QString expandEnvVars(const QString &str) const;
|
||||||
QString shadowedPath(const QString &fileName) const;
|
QString shadowedPath(const QString &fileName) const;
|
||||||
|
QStringList splitPathList(const QString &value) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString getEnv(const QString &) const;
|
QString getEnv(const QString &) const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user