diff options
author | BogDan Vatra <bogdan@kde.org> | 2014-09-20 11:23:06 +0300 |
---|---|---|
committer | BogDan Vatra <bogdan@kde.org> | 2014-09-22 13:26:50 +0200 |
commit | a8fd7c7b0a89e063d62cf130c5044d5b5d23f467 (patch) | |
tree | 50fac595898c630ad8968ffe6b4e78c2c63b88ae | |
parent | 5ae262fc1e014cd41df9d5168240e4a260a6df53 (diff) | |
download | qttools-a8fd7c7b0a89e063d62cf130c5044d5b5d23f467.tar.gz |
Make sure the outputDirectory contains the full path not relative.
Trying to run a process using the relative path on windows fails.
Task-number: QTBUG-41431
Change-Id: I0c9aa837dc7a556372b1018feb2f7f5c14c2652a
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
-rw-r--r-- | src/androiddeployqt/main.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/androiddeployqt/main.cpp b/src/androiddeployqt/main.cpp index 918467983..b4ae258af 100644 --- a/src/androiddeployqt/main.cpp +++ b/src/androiddeployqt/main.cpp @@ -322,11 +322,8 @@ Options parseOptions() if (argument.compare(QLatin1String("--output"), Qt::CaseInsensitive) == 0) { if (i + 1 == arguments.size()) options.helpRequested = true; - else { + else options.outputDirectory = arguments.at(++i).trimmed(); - if (!options.outputDirectory.endsWith(QLatin1Char('/'))) - options.outputDirectory += QLatin1Char('/'); - } } else if (argument.compare(QLatin1String("--input"), Qt::CaseInsensitive) == 0) { if (i + 1 == arguments.size()) options.helpRequested = true; @@ -460,6 +457,15 @@ Options parseOptions() options.timing = qEnvironmentVariableIsSet("ANDROIDDEPLOYQT_TIMING_OUTPUT"); + if (!QDir::current().mkpath(options.outputDirectory)) { + fprintf(stderr, "Invalid output directory: %s\n", qPrintable(options.outputDirectory)); + options.outputDirectory.clear(); + } else { + options.outputDirectory = QFileInfo(options.outputDirectory).canonicalFilePath(); + if (!options.outputDirectory.endsWith(QLatin1Char('/'))) + options.outputDirectory += QLatin1Char('/'); + } + return options; } |