From 2767116c15c3116aed25d78ef3f31b36da1ea452 Mon Sep 17 00:00:00 2001
From: Marc Mutz <marc.mutz@kdab.com>
Date: Thu, 31 Jul 2014 15:44:21 +0200
Subject: [PATCH] qtconcurrent/generaterun: allow to pass the output dir as an
 argument

The hard-coded paths don't exist anymore.

Change-Id: Ie993f0a08d9dc2d89fa08911c18a09706af2fa24
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
---
 src/qtconcurrent/generaterun/main.cpp | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/qtconcurrent/generaterun/main.cpp b/src/qtconcurrent/generaterun/main.cpp
index ff26bd9da..6108fdca8 100644
--- a/src/qtconcurrent/generaterun/main.cpp
+++ b/src/qtconcurrent/generaterun/main.cpp
@@ -40,6 +40,7 @@
 ****************************************************************************/
 #include <QDebug>
 #include <QFile>
+#include <QDir>
 
 #include "codegenerator.h"
 using namespace CodeGenerator;
@@ -317,8 +318,19 @@ Item dollarQuote(Item item)
     return Item("$") + item + Item("$");
 }
 
-int main()
+static int usage(const char *executable)
 {
+    qDebug("Usage: %s path/to/qtconcurrent", executable);
+    return EXIT_FAILURE;
+}
+
+int main(int argc, char *argv[])
+{
+    if (argc !=2)
+        return usage(argv[0]);
+
+    const QDir outdir(QFile::decodeName(argv[1]));
+
     const int repeats = 6;
     init();
     Item run =  (
@@ -369,7 +381,7 @@ int main()
                        Line("#endif")
                       );
 
-    writeFile("../../../src/corelib/concurrent/qtconcurrentrun.h", run.generate());
+    writeFile(outdir.filePath("qtconcurrentrun.h"), run.generate());
 
     Item storedFunctionCall = (
                                      Line("/****************************************************************************") +
@@ -411,7 +423,7 @@ int main()
                                      Line("#endif")
                                     );
 
-    writeFile("../../../src/corelib/concurrent/qtconcurrentstoredfunctioncall.h", storedFunctionCall.generate());
+    writeFile(outdir.filePath("qtconcurrentstoredfunctioncall.h"), storedFunctionCall.generate());
 }
 
 
-- 
GitLab