make $$relative_path() minimize already relative paths

follow suit with qmake ...

Change-Id: I8346bff6e31dcd32b182dd489b85636da6283e2a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
This commit is contained in:
Oswald Buddenhagen
2012-08-07 18:52:18 +02:00
parent c9a89663aa
commit e15f1cee01

View File

@@ -969,12 +969,13 @@ ProStringList QMakeEvaluator::evaluateExpandFunction(
.absoluteFilePath(args.at(0).toQString(m_tmp1)))).setSource(args.at(0));
break;
case E_RELATIVE_PATH:
if (args.count() > 2)
if (args.count() > 2) {
evalError(fL1S("relative_path(path[, base]) requires one or two arguments."));
else
ret << ProString(QDir::cleanPath(
QDir(args.count() > 1 ? args.at(1).toQString(m_tmp2) : currentDirectory())
.relativeFilePath(args.at(0).toQString(m_tmp1)))).setSource(args.at(0));
} else {
QDir baseDir(args.count() > 1 ? args.at(1).toQString(m_tmp2) : currentDirectory());
ret << ProString(baseDir.relativeFilePath(baseDir.absoluteFilePath(
args.at(0).toQString(m_tmp1)))).setSource(args.at(0));
}
break;
case E_CLEAN_PATH:
if (args.count() != 1)