summaryrefslogtreecommitdiff
path: root/application-manager.pro
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 /application-manager.pro
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 'application-manager.pro')
-rw-r--r--application-manager.pro10
1 files changed, 9 insertions, 1 deletions
diff --git a/application-manager.pro b/application-manager.pro
index 75bc665c..df058da1 100644
--- a/application-manager.pro
+++ b/application-manager.pro
@@ -52,6 +52,13 @@ linux:!android:!disable-libbacktrace:if(enable-libbacktrace|CONFIG(debug, debug|
check_libbacktrace = "no"
}
+windows:msvc:!disable-stackwalker:if(enable-stackwalker|CONFIG(debug, debug|release)|debug_and_release) {
+ check_stackwalker = "yes"
+ SUBDIRS += 3rdparty/stackwalker/stackwalker.pro
+} else {
+ check_stackwalker = "no"
+}
+
!tools-only: SUBDIRS += doc
load(qt_parts)
@@ -100,7 +107,8 @@ printConfigLine("Crypto backend", $$check_crypto, auto)
printConfigLine("SSDP support", $$yesNo(qtHaveModule(pssdp)), auto)
printConfigLine("Shellserver support", $$yesNo(qtHaveModule(pshellserver)), auto)
printConfigLine("Genivi support", $$yesNo(qtHaveModule(geniviextras)), auto)
-printConfigLine("libbacktrace support", $$check_libbacktrace, auto)
+unix:printConfigLine("libbacktrace support", $$check_libbacktrace, auto)
+windows:printConfigLine("StackWalker support", $$check_stackwalker, auto)
printConfigLine("Systemd workaround", $$yesNo(CONFIG(systemd-workaround)), auto)
printConfigLine("System libarchive", $$yesNo(config_libarchive:!no-system-libarchive), auto)
printConfigLine("System libyaml", $$yesNo(config_libyaml:!no-system-libyaml), auto)