Reactivating Crash Manager on the Linux platform

This commit is contained in:
Renaud Lepage
2015-05-25 09:57:43 -07:00
parent da93b4fb9b
commit a2183d15c1
5 changed files with 51 additions and 25 deletions
+28 -22
View File
@@ -26,34 +26,13 @@ if(APPLE)
)
source_group("OS Specific\\\\Darwin" FILES ${SMDATA_OS_DARWIN_SRC} ${SMDATA_OS_DARWIN_HPP})
if (WITH_CRASH_HANDLER)
list(APPEND SMDATA_OS_UNIX_SRC
"archutils/Unix/Backtrace.cpp"
"archutils/Unix/BacktraceNames.cpp"
"archutils/Unix/CrashHandler.cpp"
"archutils/Unix/CrashHandlerChild.cpp"
"archutils/Unix/CrashHandlerInternal.cpp"
"archutils/Unix/SignalHandler.cpp"
)
list(APPEND SMDATA_OS_UNIX_HPP
"archutils/Unix/Backtrace.h"
"archutils/Unix/BacktraceNames.h"
"archutils/Unix/CrashHandler.h"
"archutils/Unix/CrashHandlerInternal.h"
"archutils/Unix/SignalHandler.h"
)
endif()
source_group("OS Specific\\\\Unix" FILES ${SMDATA_OS_UNIX_SRC} ${SMDATA_OS_UNIX_HPP})
list(APPEND SMDATA_OS_SRC
${SMDATA_OS_DARWIN_SRC}
${SMDATA_OS_UNIX_SRC}
)
list(APPEND SMDATA_OS_HPP
${SMDATA_OS_DARWIN_HPP}
${SMDATA_OS_UNIX_HPP}
)
else()
if(WIN32)
@@ -147,3 +126,30 @@ else()
source_group("OS Specific" FILES ${SMDATA_OS_SRC} ${SMDATA_OS_HPP})
endif()
if(APPLE OR LINUX)
if (WITH_CRASH_HANDLER)
list(APPEND SMDATA_OS_UNIX_CRASH_SRC
"archutils/Unix/Backtrace.cpp"
"archutils/Unix/BacktraceNames.cpp"
"archutils/Unix/CrashHandler.cpp"
"archutils/Unix/CrashHandlerChild.cpp"
"archutils/Unix/CrashHandlerInternal.cpp"
"archutils/Unix/SignalHandler.cpp"
)
list(APPEND SMDATA_OS_UNIX_CRASH_HPP
"archutils/Unix/Backtrace.h"
"archutils/Unix/BacktraceNames.h"
"archutils/Unix/CrashHandler.h"
"archutils/Unix/CrashHandlerInternal.h"
"archutils/Unix/SignalHandler.h"
)
source_group("OS Specific\\\\Unix" FILES ${SMDATA_OS_UNIX_CRASH_SRC} ${SMDATA_OS_UNIX_CRASH_HPP})
list(APPEND SMDATA_OS_SRC
${SMDATA_OS_UNIX_CRASH_SRC}
)
list(APPEND SMDATA_OS_HPP
${SMDATA_OS_UNIX_CRASH_HPP}
)
endif()
endif()
+15
View File
@@ -347,8 +347,23 @@ else() # Linux
RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${SM_ROOT_DIR}"
)
if(${WITH_CRASH_HANDLER})
sm_add_compile_definition("${SM_EXE_NAME}" CRASH_HANDLER)
if(LINUX)
# used only in the ArchHooks_Unix.cpp file
sm_add_compile_definition("${SM_EXE_NAME}" BACKTRACE_METHOD_X86_LINUX)
sm_add_compile_definition("${SM_EXE_NAME}" BACKTRACE_METHOD_TEXT="x86 custom backtrace")
sm_add_compile_definition("${SM_EXE_NAME}" BACKTRACE_LOOKUP_METHOD_TEXT="backtrace_symbols")
endif()
endif()
if (${HAS_PTHREAD})
sm_add_compile_definition("${SM_EXE_NAME}" HAVE_LIBPTHREAD)
message("Host processor is ${CMAKE_SYSTEM_PROCESSOR}")
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
message("Host processor is 64bit")
sm_add_compile_definition("${SM_EXE_NAME}" CPU_X86_64)
endif()
endif()
if (${HAS_FFMPEG})
sm_add_compile_definition("${SM_EXE_NAME}" HAVE_FFMPEG)
+3
View File
@@ -18,6 +18,9 @@
#if defined(CRASH_HANDLER)
#include "archutils/Unix/CrashHandler.h"
#if defined(LINUX)
#include <limits.h>
#endif
#endif
#if defined(HAVE_FFMPEG)
+4
View File
@@ -13,6 +13,10 @@
#if defined(BACKTRACE_METHOD_X86_LINUX)
#include "archutils/Common/PthreadHelpers.h"
#if defined(LINUX) && !defined(ANDROID)
#include <limits.h>
#endif
static const char *itoa(unsigned n)
{
static char ret[32];