diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2016-02-01 16:15:48 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2016-02-01 16:15:48 +0100 |
commit | 5952165cf9d2a8d9294ee7b652d1bdcb2066fc9f (patch) | |
tree | 807647fb7464d61910f87c706e61e3aeaa6ae036 /src/tools/clangbackend/clangbackendmain.cpp | |
parent | bb3b7307ef0bc1f70b3db823829a0569f49c2cda (diff) | |
parent | f38d29133956c4196fbfd66895f3a31fad5f9948 (diff) | |
download | qt-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.cpp | 24 |
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); |