From 68cbeb59d9aae4fcf57193093a29feb4423e2b01 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 6 Aug 2012 20:44:10 +0200 Subject: make $$relative_path() minimize already relative paths QDir::relativeFilePath() doesn't do anything if the path is already relative, so make it absolute first to force a re-calculation. the cleanPath() is gone, as relativeFilePath() already does that. Change-Id: I8f4d0d839db3fe99a608f70916b4b5bd52c56535 Reviewed-by: Joerg Bornemann --- qmake/project.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'qmake/project.cpp') diff --git a/qmake/project.cpp b/qmake/project.cpp index 3379f452a3..7a80cc659e 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -2727,12 +2727,13 @@ QMakeProject::doProjectExpand(QString func, QList args_list, .absoluteFilePath(args.at(0))); break; case E_RELATIVE_PATH: - if (args.count() > 2) + if (args.count() > 2) { fprintf(stderr, "%s:%d relative_path(path[, base]) requires one or two arguments.\n", parser.file.toLatin1().constData(), parser.line_no); - else - ret += QDir::cleanPath(QDir(args.count() > 1 ? args.at(1) : QString()) - .relativeFilePath(args.at(0))); + } else { + QDir baseDir(args.count() > 1 ? args.at(1) : QString()); + ret += baseDir.relativeFilePath(baseDir.absoluteFilePath(args.at(0))); + } break; case E_CLEAN_PATH: if (args.count() != 1) -- cgit v1.2.3