diff options
author | Robert Griebl <robert.griebl@pelagicore.com> | 2020-02-06 18:43:19 +0100 |
---|---|---|
committer | Robert Griebl <robert.griebl@qt.io> | 2020-02-11 20:54:52 +0100 |
commit | 08143e670aea28fd6758fe8ae8186d1b66f6ab99 (patch) | |
tree | 4caee8c0397e0514d94e261cf9853aebeca4bddf /qmake-features | |
parent | ae18e41a739659fa46efe8891a049ad890958138 (diff) | |
download | qtapplicationmanager-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.prf | 3 |
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") { |