summaryrefslogtreecommitdiffstats
path: root/qmake/option.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgads@gmail.com>2011-11-15 10:34:38 +0200
committerQt by Nokia <qt-info@nokia.com>2012-01-19 00:17:32 +0100
commitf9b94a7ee13e7b8a1c1482391d935a2d5a754848 (patch)
tree7449c77074c7bdc09d5e2366438ba054ca479a65 /qmake/option.cpp
parent711f367d8f4a1f55c59ff7cdda743b2b3bd5e265 (diff)
qmake: Normalize paths instead of converting to native separators
Task-number: QTBUG-22738 Change-Id: I40163a883d84beff79f52bff141d61dfe921c129 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'qmake/option.cpp')
-rw-r--r--qmake/option.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/qmake/option.cpp b/qmake/option.cpp
index 8ad8a22f79..d450c19f6d 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -659,9 +659,16 @@ Option::fixString(QString string, uchar flags)
if(string.length() > 2 && string[0].isLetter() && string[1] == QLatin1Char(':'))
string[0] = string[0].toLower();
+ bool localSep = (flags & Option::FixPathToLocalSeparators) != 0;
+ bool targetSep = (flags & Option::FixPathToTargetSeparators) != 0;
+ bool normalSep = (flags & Option::FixPathToNormalSeparators) != 0;
+
+ // either none or only one active flag
+ Q_ASSERT(localSep + targetSep + normalSep <= 1);
//fix separators
- Q_ASSERT(!((flags & Option::FixPathToLocalSeparators) && (flags & Option::FixPathToTargetSeparators)));
- if(flags & Option::FixPathToLocalSeparators) {
+ if (flags & Option::FixPathToNormalSeparators) {
+ string = string.replace('\\', '/');
+ } else if (flags & Option::FixPathToLocalSeparators) {
#if defined(Q_OS_WIN32)
string = string.replace('/', '\\');
#else