|
|
|
|
@ -40,6 +40,7 @@ option(CROSS_COMPILE_AARCH64 "Cross-compile for 64-bit ARM" off)
|
|
|
|
|
option(COMPILE_WIN32 "Compile for Win32" off)
|
|
|
|
|
|
|
|
|
|
set(ENABLE_LIBDW_SUPPORT ON)
|
|
|
|
|
option(ENABLE_BACKWARD "Enable support for backtraces" ON)
|
|
|
|
|
|
|
|
|
|
if (COMPILE_WIN32)
|
|
|
|
|
set(ARCH amd64)
|
|
|
|
|
@ -193,30 +194,35 @@ if (NOT DISABLE_WEBSOCKETS)
|
|
|
|
|
endif (NOT DISABLE_WEBSOCKETS)
|
|
|
|
|
|
|
|
|
|
# elfutils (libdw-dev)
|
|
|
|
|
if (ENABLE_LIBDW_SUPPORT)
|
|
|
|
|
find_path(LIBDW_INCLUDE_DIR NAMES elfutils/libdw.h elfutils/libdwfl.h HINTS /usr /usr/local PATH_SUFFIXES include)
|
|
|
|
|
if (ENABLE_BACKWARD)
|
|
|
|
|
if (ENABLE_LIBDW_SUPPORT)
|
|
|
|
|
find_path(LIBDW_INCLUDE_DIR NAMES elfutils/libdw.h elfutils/libdwfl.h HINTS /usr /usr/local PATH_SUFFIXES include)
|
|
|
|
|
|
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
|
find_package_handle_standard_args(Libdw DEFAULT_MSG LIBDW_INCLUDE_DIR)
|
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
|
find_package_handle_standard_args(Libdw DEFAULT_MSG LIBDW_INCLUDE_DIR)
|
|
|
|
|
|
|
|
|
|
if (LIBDW_FOUND)
|
|
|
|
|
message("-- libdw (libdw-dev) found, detailed backtrace support enabled")
|
|
|
|
|
add_definitions(-DBACKWARD_HAS_DW=1)
|
|
|
|
|
set(LIBDW_LIBRARY "dw")
|
|
|
|
|
if (LIBDW_FOUND)
|
|
|
|
|
message("-- libdw (libdw-dev) found, detailed backtrace support enabled")
|
|
|
|
|
add_definitions(-DBACKWARD_HAS_DW=1)
|
|
|
|
|
set(LIBDW_LIBRARY "dw")
|
|
|
|
|
else()
|
|
|
|
|
message("-- libdw (libdw-dev) not found, simple backtrace only")
|
|
|
|
|
add_definitions(-DBACKWARD_HAS_DW=0 -DBACKWARD_HAS_BACKTRACE_SYMBOL=1)
|
|
|
|
|
set(LIBDW_INCLUDE_DIR "")
|
|
|
|
|
set(LIBDW_LIBRARY "")
|
|
|
|
|
endif (LIBDW_FOUND)
|
|
|
|
|
|
|
|
|
|
mark_as_advanced(LIBDW_INCLUDE_DIR LIBDW_LIBRARY)
|
|
|
|
|
else()
|
|
|
|
|
message("-- libdw (libdw-dev) not found, simple backtrace only")
|
|
|
|
|
message("-- libdw (libdw-dev) disabled, simple backtrace only")
|
|
|
|
|
add_definitions(-DBACKWARD_HAS_DW=0 -DBACKWARD_HAS_BACKTRACE_SYMBOL=1)
|
|
|
|
|
set(LIBDW_INCLUDE_DIR "")
|
|
|
|
|
set(LIBDW_LIBRARY "")
|
|
|
|
|
endif (LIBDW_FOUND)
|
|
|
|
|
|
|
|
|
|
mark_as_advanced(LIBDW_INCLUDE_DIR LIBDW_LIBRARY)
|
|
|
|
|
endif (ENABLE_LIBDW_SUPPORT)
|
|
|
|
|
else()
|
|
|
|
|
message("-- libdw (libdw-dev) disabled, simple backtrace only")
|
|
|
|
|
add_definitions(-DBACKWARD_HAS_DW=0 -DBACKWARD_HAS_BACKTRACE_SYMBOL=1)
|
|
|
|
|
set(LIBDW_INCLUDE_DIR "")
|
|
|
|
|
set(LIBDW_LIBRARY "")
|
|
|
|
|
endif (ENABLE_LIBDW_SUPPORT)
|
|
|
|
|
message("-- backtrace has been disabled per user request. Here be dragons!")
|
|
|
|
|
add_definitions(-DBACKWARD_HAS_BACKTRACE_SYMBOL=0 -DBACKWARD_SYSTEM_UNKNOWN=1)
|
|
|
|
|
endif (ENABLE_BACKWARD)
|
|
|
|
|
|
|
|
|
|
# FinalCut
|
|
|
|
|
if (ENABLE_TUI_SUPPORT AND NOT FC_INCLUDED)
|
|
|
|
|
|