Reactivating Crash Manager on the Linux platform
This commit is contained in:
+28
-22
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user