diff --git a/BackwardConfig.cmake b/BackwardConfig.cmake index ce3e629..a982adc 100644 --- a/BackwardConfig.cmake +++ b/BackwardConfig.cmake @@ -189,6 +189,14 @@ if (NOT _BACKWARD_DEFINITIONS) map_definitions("STACK_DETAILS_" "BACKWARD_HAS_" BACKTRACE_SYMBOL DW BFD DWARF) endif() +if(WIN32) + list(APPEND _BACKWARD_LIBRARIES dbghelp psapi) + if(MINGW) + set(MINGW_MSVCR_LIBRARY "msvcr90$<$:d>" CACHE STRING "Mingw MSVC runtime import library") + list(APPEND _BACKWARD_LIBRARIES ${MINGW_MSVCR_LIBRARY}) + endif() +endif() + set(BACKWARD_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}") set(BACKWARD_HAS_EXTERNAL_LIBRARIES FALSE) diff --git a/backward.hpp b/backward.hpp index 6f1a804..ac7ad51 100644 --- a/backward.hpp +++ b/backward.hpp @@ -340,7 +340,9 @@ #include typedef SSIZE_T ssize_t; +#ifndef NOMINMAX #define NOMINMAX +#endif #include #include @@ -352,8 +354,10 @@ typedef SSIZE_T ssize_t; #define NOINLINE __declspec(noinline) #endif +#ifdef _MSC_VER #pragma comment(lib, "psapi.lib") #pragma comment(lib, "dbghelp.lib") +#endif // Comment / packing is from stackoverflow: // https://stackoverflow.com/questions/6205981/windows-c-stack-trace-from-a-running-app/28276227#28276227 diff --git a/test/_test_main.cpp b/test/_test_main.cpp index 5e1f316..68211e0 100644 --- a/test/_test_main.cpp +++ b/test/_test_main.cpp @@ -26,7 +26,7 @@ #include #ifdef _WIN32 -#include +#include #define strcasecmp _stricmp #else #include