summaryrefslogtreecommitdiff
path: root/src/tools/clangbackend/clangbackendmain.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2016-02-01 16:15:48 +0100
committerEike Ziller <eike.ziller@theqtcompany.com>2016-02-01 16:15:48 +0100
commit5952165cf9d2a8d9294ee7b652d1bdcb2066fc9f (patch)
tree807647fb7464d61910f87c706e61e3aeaa6ae036 /src/tools/clangbackend/clangbackendmain.cpp
parentbb3b7307ef0bc1f70b3db823829a0569f49c2cda (diff)
parentf38d29133956c4196fbfd66895f3a31fad5f9948 (diff)
downloadqt-creator-5952165cf9d2a8d9294ee7b652d1bdcb2066fc9f.tar.gz
Merge remote-tracking branch 'origin/3.6'
Change-Id: Ic4d3d94feaaa588c6244509bb3dd14c5cb646fe7
Diffstat (limited to 'src/tools/clangbackend/clangbackendmain.cpp')
-rw-r--r--src/tools/clangbackend/clangbackendmain.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/tools/clangbackend/clangbackendmain.cpp b/src/tools/clangbackend/clangbackendmain.cpp
index 641ec78f94..2a7e4e1804 100644
--- a/src/tools/clangbackend/clangbackendmain.cpp
+++ b/src/tools/clangbackend/clangbackendmain.cpp
@@ -23,6 +23,7 @@
**
****************************************************************************/
+#include <QCommandLineParser>
#include <QCoreApplication>
#include <QLoggingCategory>
@@ -30,6 +31,22 @@
#include <cmbmessages.h>
#include <clangipcserver.h>
+QString processArguments(QCoreApplication &application)
+{
+ QCommandLineParser parser;
+ parser.setApplicationDescription(QStringLiteral("Qt Creator Clang backend process."));
+ parser.addHelpOption();
+ parser.addVersionOption();
+ parser.addPositionalArgument(QStringLiteral("connection"), QStringLiteral("Connection"));
+
+ parser.process(application);
+
+ if (parser.positionalArguments().isEmpty())
+ parser.showHelp(1);
+
+ return parser.positionalArguments().first();
+}
+
int main(int argc, char *argv[])
{
QLoggingCategory::setFilterRules(QStringLiteral("*.debug=false"));
@@ -41,10 +58,7 @@ int main(int argc, char *argv[])
QCoreApplication application(argc, argv);
- if (application.arguments().count() != 2) {
- qWarning() << "wrong argument count";
- return 1;
- }
+ const QString connection = processArguments(application);
ClangBackEnd::Messages::registerMessages();
@@ -52,7 +66,7 @@ int main(int argc, char *argv[])
clang_enableStackTraces();
ClangBackEnd::ClangIpcServer clangIpcServer;
- ClangBackEnd::ConnectionServer connectionServer(application.arguments()[1]);
+ ClangBackEnd::ConnectionServer connectionServer(connection);
connectionServer.start();
connectionServer.setIpcServer(&clangIpcServer);