From 68c909373d96f61f1a06cfb486df320e56b2e75a Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 25 Feb 2010 12:04:58 +0200 Subject: Fix SymbianMakefileGenerator::absolutizePath for clean builds QFileInfo::isDir() will not return correct value if path doesn't exist like it doesn't in case of clean builds. Turned the check around and used isFile() instead. If a file is given as origPath, it is assumed to exist, because it was explicitly given with HEADERS variable and qmake will give warning if nonexisted file is given there. Reviewed-by: Janne Koskinen --- qmake/generators/symbian/symmake.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index a7eca54..ee579bb 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -147,10 +147,14 @@ QString SymbianMakefileGenerator::absolutizePath(const QString& origPath) resultPath = QDir::fromNativeSeparators(epocRoot()) + resultPath.mid(1); QFileInfo fi(fileInfo(resultPath)); - if (fi.isDir()) { - resultPath = fi.absoluteFilePath(); - } else { + + // Since origPath can be something given in HEADERS, we need to check if we are dealing + // with a file or a directory. In case the origPath doesn't yet exist, isFile() returns + // false and we default to assuming it is a dir. + if (fi.isFile()) { resultPath = fi.absolutePath(); + } else { + resultPath = fi.absoluteFilePath(); } resultPath = QDir::cleanPath(resultPath); -- cgit v0.12