summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2017-07-28 13:25:41 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2018-01-18 19:47:29 +0000
commit957c1d9abd854a3b5c43ace807ab7cbf89c91491 (patch)
tree8e4b2bfa1f2060a753ab2c8f6a3f6f48ebfee2ce
parentf9b8ea4b0eaea94a6d724a0955b13fd8a97d96e3 (diff)
Use a proper test for absolute path for qmake's location
QFileInfo.isRelative() deems any path starting with a slash to be absolute; on MS-Win, such paths need a drive specifier (unless they're UNC), so use IoUtils's more robust test for absolute paths. Change-Id: I7d0872a87833cbf1cc1a6ef107941adc4c529624 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
-rw-r--r--qmake/option.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/qmake/option.cpp b/qmake/option.cpp
index 4da2a1ae2c..8e457a2626 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -28,6 +28,7 @@
#include "option.h"
#include "cachekeys.h"
+#include <ioutils.h>
#include <qdir.h>
#include <qregexp.h>
#include <qhash.h>
@@ -38,6 +39,8 @@
QT_BEGIN_NAMESPACE
+using namespace QMakeInternal;
+
EvalHandler Option::evalHandler;
QMakeGlobals *Option::globals;
ProFileCache *Option::proFileCache;
@@ -325,7 +328,7 @@ Option::init(int argc, char **argv)
#endif
if(Option::qmake_mode == Option::QMAKE_GENERATE_NOTHING)
Option::qmake_mode = default_mode(argv0);
- if(!argv0.isEmpty() && !QFileInfo(argv0).isRelative()) {
+ if (!argv0.isEmpty() && IoUtils::isAbsolutePath(argv0)) {
globals->qmake_abslocation = argv0;
} else if (argv0.contains(QLatin1Char('/'))
#ifdef Q_OS_WIN