summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kde.org>2014-09-20 11:23:06 +0300
committerBogDan Vatra <bogdan@kde.org>2014-09-22 13:26:50 +0200
commita8fd7c7b0a89e063d62cf130c5044d5b5d23f467 (patch)
tree50fac595898c630ad8968ffe6b4e78c2c63b88ae
parent5ae262fc1e014cd41df9d5168240e4a260a6df53 (diff)
downloadqttools-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.cpp14
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;
}