introduce QMakeGlobals::getPathListEnv()

variant of getEnv() for fetching paths lists

Change-Id: I2adf26b31354ed97dc3fff12a4c6344b6e9c172f
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
Oswald Buddenhagen
2012-05-04 15:23:11 +02:00
parent 5d896112bc
commit 4a9b1a7a58
3 changed files with 22 additions and 16 deletions

View File

@@ -1051,10 +1051,8 @@ QStringList QMakeEvaluator::qmakeMkspecPaths() const
QStringList ret;
const QString concat = QLatin1String("/mkspecs");
QString qmakepath = m_option->getEnv(QLatin1String("QMAKEPATH"));
if (!qmakepath.isEmpty())
foreach (const QString &it, qmakepath.split(m_option->dirlist_sep))
ret << QDir::cleanPath(it) + concat;
foreach (const QString &it, m_option->getPathListEnv(QLatin1String("QMAKEPATH")))
ret << it + concat;
QString builtIn = propertyValue(QLatin1String("QT_INSTALL_DATA"), false) + concat;
if (!ret.contains(builtIn))
@@ -1091,10 +1089,8 @@ QStringList QMakeEvaluator::qmakeFeaturePaths() const
QStringList feature_roots;
QString mkspec_path = m_option->getEnv(QLatin1String("QMAKEFEATURES"));
if (!mkspec_path.isEmpty())
foreach (const QString &f, mkspec_path.split(m_option->dirlist_sep))
feature_roots += resolvePath(f);
foreach (const QString &f, m_option->getPathListEnv(QLatin1String("QMAKEFEATURES")))
feature_roots += resolvePath(f);
feature_roots += propertyValue(QLatin1String("QMAKEFEATURES"), false).split(
m_option->dirlist_sep, QString::SkipEmptyParts);
@@ -1105,14 +1101,10 @@ QStringList QMakeEvaluator::qmakeFeaturePaths() const
feature_roots << (path + concat_it);
}
QString qmakepath = m_option->getEnv(QLatin1String("QMAKEPATH"));
if (!qmakepath.isNull()) {
const QStringList lst = qmakepath.split(m_option->dirlist_sep);
foreach (const QString &item, lst) {
QString citem = resolvePath(item);
foreach (const QString &concat_it, concat)
feature_roots << (citem + mkspecs_concat + concat_it);
}
foreach (const QString &item, m_option->getPathListEnv(QLatin1String("QMAKEPATH"))) {
QString citem = resolvePath(item);
foreach (const QString &concat_it, concat)
feature_roots << (citem + mkspecs_concat + concat_it);
}
if (!m_option->qmakespec.isEmpty()) {

View File

@@ -147,6 +147,19 @@ QString QMakeGlobals::getEnv(const QString &var) const
return QString::fromLocal8Bit(qgetenv(var.toLocal8Bit().constData()));
}
QStringList QMakeGlobals::getPathListEnv(const QString &var) const
{
QStringList ret;
QString val = getEnv(var);
if (!val.isEmpty()) {
QStringList vals = val.split(dirlist_sep);
ret.reserve(vals.length());
foreach (const QString &it, vals)
ret << QDir::cleanPath(it);
}
return ret;
}
#ifdef PROEVALUATOR_INIT_PROPS
bool QMakeGlobals::initProperties(const QString &qmake)
{

View File

@@ -75,6 +75,7 @@ public:
private:
QString getEnv(const QString &) const;
QStringList getPathListEnv(const QString &var) const;
QHash<ProString, ProStringList> base_valuemap; // Cached results of qmake.conf, .qmake.cache & default_pre.prf
ProFunctionDefs base_functions;