move sysrootify() out of ProFileEvaluator::Private

it's a higher-level function which will not fit here soon

Change-Id: I42ab45a953b2fea3ba1cb467eeff96fd58fc57be
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
Oswald Buddenhagen
2012-06-11 21:56:05 +02:00
parent ed633945ba
commit ae9b396d98
2 changed files with 18 additions and 16 deletions

View File

@@ -180,7 +180,6 @@ public:
QString expandEnvVars(const QString &str) const;
QString fixPathToLocalOS(const QString &str) const;
QString sysrootify(const QString &path, const QString &baseDir) const;
#ifndef QT_BOOTSTRAPPED
void runProcess(QProcess *proc, const QString &command, QProcess::ProcessChannel chan) const;
@@ -1450,19 +1449,6 @@ QString ProFileEvaluator::Private::currentDirectory() const
return cur->directoryName();
}
QString ProFileEvaluator::Private::sysrootify(const QString &path, const QString &baseDir) const
{
#ifdef Q_OS_WIN
Qt::CaseSensitivity cs = Qt::CaseInsensitive;
#else
Qt::CaseSensitivity cs = Qt::CaseSensitive;
#endif
const bool isHostSystemPath = m_option->sysroot.isEmpty() || path.startsWith(m_option->sysroot, cs)
|| path.startsWith(baseDir, cs) || path.startsWith(m_outputDir, cs);
return isHostSystemPath ? path : m_option->sysroot + path;
}
#ifndef QT_BOOTSTRAPPED
void ProFileEvaluator::Private::runProcess(QProcess *proc, const QString &command,
QProcess::ProcessChannel chan) const
@@ -3321,13 +3307,27 @@ QStringList ProFileEvaluator::values(const QString &variableName, const ProFile
return ret;
}
QString ProFileEvaluator::sysrootify(const QString &path, const QString &baseDir) const
{
#ifdef Q_OS_WIN
Qt::CaseSensitivity cs = Qt::CaseInsensitive;
#else
Qt::CaseSensitivity cs = Qt::CaseSensitive;
#endif
const bool isHostSystemPath =
d->m_option->sysroot.isEmpty() || path.startsWith(d->m_option->sysroot, cs)
|| path.startsWith(baseDir, cs) || path.startsWith(d->m_outputDir, cs);
return isHostSystemPath ? path : d->m_option->sysroot + path;
}
QStringList ProFileEvaluator::absolutePathValues(
const QString &variable, const QString &baseDirectory) const
{
QStringList result;
foreach (const QString &el, values(variable)) {
QString absEl = IoUtils::isAbsolutePath(el)
? d->sysrootify(el, baseDirectory) : IoUtils::resolvePath(baseDirectory, el);
? sysrootify(el, baseDirectory) : IoUtils::resolvePath(baseDirectory, el);
if (IoUtils::fileType(absEl) == IoUtils::FileIsDir)
result << QDir::cleanPath(absEl);
}
@@ -3342,7 +3342,7 @@ QStringList ProFileEvaluator::absoluteFileValues(
foreach (const QString &el, pro ? values(variable, pro) : values(variable)) {
QString absEl;
if (IoUtils::isAbsolutePath(el)) {
const QString elWithSysroot = d->sysrootify(el, baseDirectory);
const QString elWithSysroot = sysrootify(el, baseDirectory);
if (IoUtils::exists(elWithSysroot)) {
result << QDir::cleanPath(elWithSysroot);
goto next;

View File

@@ -106,6 +106,8 @@ public:
QString propertyValue(const QString &val) const;
private:
QString sysrootify(const QString &path, const QString &baseDir) const;
Private *d;
friend class QMakeGlobals;