aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/proparser
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/proparser')
-rw-r--r--src/shared/proparser/profileevaluator.cpp18
-rw-r--r--src/shared/proparser/profileevaluator.h2
2 files changed, 20 insertions, 0 deletions
diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 50bf4a89cfc..e164a6cebcb 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -102,6 +102,24 @@ QString ProFileEvaluator::sysrootify(const QString &path, const QString &baseDir
return isHostSystemPath ? path : option->sysroot + path;
}
+QStringList ProFileEvaluator::fixifiedValues(
+ const QString &variable, const QString &baseDirectory, const QString &buildDirectory) const
+{
+ QStringList result;
+ foreach (const QString &el, values(variable)) {
+ if (IoUtils::isAbsolutePath(el)) {
+ result << sysrootify(el, baseDirectory);
+ } else {
+ QString fn = QDir::cleanPath(baseDirectory + QLatin1Char('/') + el);
+ if (IoUtils::exists(fn))
+ result << fn;
+ else
+ result << QDir::cleanPath(buildDirectory + QLatin1Char('/') + el);
+ }
+ }
+ return result;
+}
+
QStringList ProFileEvaluator::absolutePathValues(
const QString &variable, const QString &baseDirectory) const
{
diff --git a/src/shared/proparser/profileevaluator.h b/src/shared/proparser/profileevaluator.h
index 27b26081b0d..59285bea256 100644
--- a/src/shared/proparser/profileevaluator.h
+++ b/src/shared/proparser/profileevaluator.h
@@ -82,6 +82,8 @@ public:
QString value(const QString &variableName) const;
QStringList values(const QString &variableName) const;
QStringList values(const QString &variableName, const ProFile *pro) const;
+ QStringList fixifiedValues(
+ const QString &variable, const QString &baseDirectory, const QString &buildDirectory) const;
QStringList absolutePathValues(const QString &variable, const QString &baseDirectory) const;
QStringList absoluteFileValues(
const QString &variable, const QString &baseDirectory, const QStringList &searchDirs,