diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2017-07-28 13:25:41 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2018-01-18 19:47:29 +0000 |
commit | 957c1d9abd854a3b5c43ace807ab7cbf89c91491 (patch) | |
tree | 8e4b2bfa1f2060a753ab2c8f6a3f6f48ebfee2ce /qmake | |
parent | f9b8ea4b0eaea94a6d724a0955b13fd8a97d96e3 (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>
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/option.cpp | 5 |
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 |