use CMake's FindBacktrace for backtrace feature detection
This commit is contained in:
parent
3dd2393797
commit
94cac7a014
|
@ -58,6 +58,14 @@ find_package(Pango)
|
|||
find_package(GdkPixbuf)
|
||||
find_package(PAM)
|
||||
|
||||
find_package(Backtrace)
|
||||
if(Backtrace_FOUND)
|
||||
include_directories(${Backtrace_INCLUDE_DIRS})
|
||||
target_link_libraries(${Backtrace_LIBRARIES})
|
||||
add_definitions(-DSWAY_Backtrace_FOUND=1)
|
||||
set(SWAY_Backtrace_HEADER "${Backtrace_HEADER}")
|
||||
endif()
|
||||
|
||||
include(FeatureSummary)
|
||||
include(Manpage)
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
add_library(sway-common
|
||||
${SWAY_Backtrace_HEADER}
|
||||
ipc-client.c
|
||||
list.c
|
||||
log.c
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <stringop.h>
|
||||
#include <execinfo.h>
|
||||
|
||||
int colored = 1;
|
||||
log_importance_t loglevel_default = L_ERROR;
|
||||
|
@ -137,6 +136,7 @@ bool _sway_assert(bool condition, const char* format, ...) {
|
|||
}
|
||||
|
||||
void error_handler(int sig) {
|
||||
#if SWAY_Backtrace_FOUND
|
||||
int i;
|
||||
int max_lines = 20;
|
||||
void *array[max_lines];
|
||||
|
@ -155,5 +155,8 @@ void error_handler(int sig) {
|
|||
for (i = 0; (size_t)i < bt_len; i++) {
|
||||
sway_log(L_ERROR, "Backtrace: %s", bt[i]);
|
||||
}
|
||||
#else
|
||||
sway_log(L_ERROR, "Error: Signal %d.", sig);
|
||||
#endif
|
||||
exit(1);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue