From e16f88817edbff7404e84cb8769b15db25f75325 Mon Sep 17 00:00:00 2001 From: Jeremy <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 11 Sep 2023 12:06:16 -0400 Subject: [PATCH] Use both dbghelp and libdwarf under mingw --- CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3cca1e1..860a5b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -166,7 +166,7 @@ else() #message(STATUS "MANUAL CONFIG SPECIFIED") endif() -# =============================================== Autoconfig full dump =============================================== +# =============================================== Autoconfig symbols =============================================== if( NOT ( CPPTRACE_FULL_TRACE_WITH_LIBBACKTRACE OR @@ -179,9 +179,15 @@ if( CPPTRACE_GET_SYMBOLS_WITH_NOTHING ) ) - if(UNIX OR MINGW) + if(UNIX) message(STATUS "Cpptrace auto config: Using libdwarf for symbols") set(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF On) + elseif(MINGW) + message(STATUS "Cpptrace auto config: Using libdwarf + dbghelp for symbols") + # Use both dbghelp and libdwarf under mingw: Some files may use pdb symbols, e.g. system dlls like KERNEL32.dll and + # ntdll.dll at the very least, but also other libraries linked with may have pdb symbols. + set(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF On) + set(CPPTRACE_GET_SYMBOLS_WITH_DBGHELP On) else() message(STATUS "Cpptrace auto config: Using dbghelp for symbols") set(CPPTRACE_GET_SYMBOLS_WITH_DBGHELP On)