From 2c7823c9753c0df16ec558bf66d9da3c41d78983 Mon Sep 17 00:00:00 2001 From: Ivan Donchevskii Date: Mon, 8 Jan 2018 10:24:01 +0100 Subject: 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 --- src/tools/clangbackend/clangbackendmain.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/tools/clangbackend/clangbackendmain.cpp') 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 #include +#include + 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")); -- cgit v1.2.1