summaryrefslogtreecommitdiff
path: root/src/tools/clangbackend/clangbackendmain.cpp
diff options
context:
space:
mode:
authorIvan Donchevskii <ivan.donchevskii@qt.io>2018-01-08 10:24:01 +0100
committerIvan Donchevskii <ivan.donchevskii@qt.io>2018-01-25 14:12:34 +0000
commit2c7823c9753c0df16ec558bf66d9da3c41d78983 (patch)
tree11ddb504a6f25134fadfa7dcc759fcd9cde833e5 /src/tools/clangbackend/clangbackendmain.cpp
parent32c938c4a032c7ef20de419a3886d2a2226d75df (diff)
downloadqt-creator-2c7823c9753c0df16ec558bf66d9da3c41d78983.tar.gz
Clang: forward clangbackend QDebug messages to stdout
...to see them in both qtcreator application output and DebugView. clangbackend is a separate process which provides QtCreator stdout and stderr channels so we need to have QDebug messages there in order to receive them. Change-Id: I2edc4de1ca203b061395b0b3070e4471348eaad7 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/tools/clangbackend/clangbackendmain.cpp')
-rw-r--r--src/tools/clangbackend/clangbackendmain.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/tools/clangbackend/clangbackendmain.cpp b/src/tools/clangbackend/clangbackendmain.cpp
index 5522591379..28b7f251b6 100644
--- a/src/tools/clangbackend/clangbackendmain.cpp
+++ b/src/tools/clangbackend/clangbackendmain.cpp
@@ -33,6 +33,8 @@
#include <clangcodemodelserver.h>
#include <clangcodemodelclientproxy.h>
+#include <iostream>
+
using ClangBackEnd::ClangCodeModelClientProxy;
using ClangBackEnd::ClangCodeModelServer;
using ClangBackEnd::ConnectionServer;
@@ -53,8 +55,20 @@ QString processArguments(QCoreApplication &application)
return parser.positionalArguments().first();
}
+#ifdef Q_OS_WIN
+static void messageOutput(QtMsgType type, const QMessageLogContext &, const QString &msg)
+{
+ std::wcout << msg.toStdWString() << std::endl;
+ if (type == QtFatalMsg)
+ abort();
+}
+#endif
+
int main(int argc, char *argv[])
{
+#ifdef Q_OS_WIN
+ qInstallMessageHandler(messageOutput);
+#endif
QLoggingCategory::setFilterRules(QStringLiteral("qtc.*.debug=false"));
QCoreApplication::setOrganizationName(QStringLiteral("QtProject"));