summaryrefslogtreecommitdiff
path: root/qmake-features
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@pelagicore.com>2020-02-06 18:43:19 +0100
committerRobert Griebl <robert.griebl@qt.io>2020-02-11 20:54:52 +0100
commit08143e670aea28fd6758fe8ae8186d1b66f6ab99 (patch)
tree4caee8c0397e0514d94e261cf9853aebeca4bddf /qmake-features
parentae18e41a739659fa46efe8891a049ad890958138 (diff)
downloadqtapplicationmanager-08143e670aea28fd6758fe8ae8186d1b66f6ab99.tar.gz
Add a Windows crash handler for MSVC And MinGW
Backtraces are not supported on MinGW at the moment, because StackWalker doesn't compile due to a missing dbghelp import library. Also improved the async-safety of output functions. On the Linux side, I noticed a lot of dead-locks and crashes while generating the backtrace lately. In addition, the getOutputInformation kitchen-sink function has been split up a bit and moved to the logging.cpp where it logically belongs. Change-Id: I354c0e4e212a247338faddb6e15d8d0831852086 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Diffstat (limited to 'qmake-features')
-rw-r--r--qmake-features/am-config.prf3
1 files changed, 2 insertions, 1 deletions
diff --git a/qmake-features/am-config.prf b/qmake-features/am-config.prf
index d115eb63..4edfc8fc 100644
--- a/qmake-features/am-config.prf
+++ b/qmake-features/am-config.prf
@@ -20,6 +20,7 @@ headless:DEFINES *= AM_HEADLESS
enable-widgets:DEFINES *= AM_ENABLE_WIDGETS
config_touchemulation:DEFINES += AM_ENABLE_TOUCH_EMULATION
linux:!android:!disable-libbacktrace:if(enable-libbacktrace|CONFIG(debug, debug|release)):DEFINES *= AM_USE_LIBBACKTRACE
+windows:msvc:!disable-stackwalker:if(enable-stackwalker|CONFIG(debug, debug|release)):DEFINES *= AM_USE_STACKWALKER
!force-single-process {
linux|macos {
@@ -54,7 +55,7 @@ linux|force-libcrypto:DEFINES *= AM_USE_LIBCRYPTO
!win32:load(am-coverage.prf)
-# Unlike MSVC, MingW does not add a dummy manifest, leading to UAC prompts on executable
+# Unlike MSVC, MinGW does not add a dummy manifest, leading to UAC prompts on executable
# filenames containing "bad" words like setup, install, update, patch, ...
# RC files cannot be compiled into static libs, so we just generate one for each app.
win32-g++*:equals(TEMPLATE, "app") {