Added CLANG_UML_ENABLE_BACKTRACE CMake option to enable backtrace in release builds (#292)
This commit is contained in:
@@ -133,14 +133,25 @@ endif()
|
|||||||
link_directories(${LLVM_LIBRARY_DIR} ${YAML_CPP_LIBRARY_DIR})
|
link_directories(${LLVM_LIBRARY_DIR} ${YAML_CPP_LIBRARY_DIR})
|
||||||
|
|
||||||
#
|
#
|
||||||
# Setup libdw and libunwind
|
# Setup backward-cpp, libdw and libunwind
|
||||||
#
|
#
|
||||||
if(LINUX AND (CMAKE_BUILD_TYPE MATCHES Debug))
|
if(CMAKE_BUILD_TYPE MATCHES Debug)
|
||||||
|
set(CLANG_UML_ENABLE_BACKTRACE_DEFAULT ON)
|
||||||
|
else()
|
||||||
|
set(CLANG_UML_ENABLE_BACKTRACE_DEFAULT OFF)
|
||||||
|
endif()
|
||||||
|
option(CLANG_UML_ENABLE_BACKTRACE "Enable backtrace on segfault"
|
||||||
|
${CLANG_UML_ENABLE_BACKTRACE_DEFAULT})
|
||||||
|
|
||||||
|
if(LINUX AND CLANG_UML_ENABLE_BACKTRACE)
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
pkg_check_modules(DW REQUIRED IMPORTED_TARGET libdw)
|
pkg_check_modules(DW REQUIRED IMPORTED_TARGET libdw)
|
||||||
pkg_check_modules(UNWIND REQUIRED IMPORTED_TARGET libunwind)
|
pkg_check_modules(UNWIND REQUIRED IMPORTED_TARGET libunwind)
|
||||||
set(BACKWARD_CPP_LIBRARIES PkgConfig::DW PkgConfig::UNWIND)
|
set(BACKWARD_CPP_LIBRARIES PkgConfig::DW PkgConfig::UNWIND)
|
||||||
set(ENABLE_BACKWARD_CPP -DENABLE_BACKWARD_CPP)
|
set(ENABLE_BACKWARD_CPP -DENABLE_BACKWARD_CPP)
|
||||||
|
message(STATUS "Enabling backward-cpp")
|
||||||
|
else()
|
||||||
|
message(STATUS "Disabling backward-cpp")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
8
Makefile
8
Makefile
@@ -54,6 +54,7 @@ clean:
|
|||||||
rm -rf debug release debug_tidy coverage.info coverage-src.info
|
rm -rf debug release debug_tidy coverage.info coverage-src.info
|
||||||
|
|
||||||
debug/CMakeLists.txt:
|
debug/CMakeLists.txt:
|
||||||
|
$(eval CLANG_UML_ENABLE_BACKTRACE ?= ON)
|
||||||
cmake -S . -B debug \
|
cmake -S . -B debug \
|
||||||
-G"$(CMAKE_GENERATOR)" \
|
-G"$(CMAKE_GENERATOR)" \
|
||||||
-DGIT_VERSION=$(GIT_VERSION) \
|
-DGIT_VERSION=$(GIT_VERSION) \
|
||||||
@@ -67,9 +68,11 @@ debug/CMakeLists.txt:
|
|||||||
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
||||||
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
|
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
|
||||||
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
|
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
|
||||||
-DCODE_COVERAGE=$(CODE_COVERAGE)
|
-DCODE_COVERAGE=$(CODE_COVERAGE) \
|
||||||
|
-DCLANG_UML_ENABLE_BACKTRACE=$(CLANG_UML_ENABLE_BACKTRACE)
|
||||||
|
|
||||||
release/CMakeLists.txt:
|
release/CMakeLists.txt:
|
||||||
|
$(eval CLANG_UML_ENABLE_BACKTRACE ?= OFF)
|
||||||
cmake -S . -B release \
|
cmake -S . -B release \
|
||||||
-G"$(CMAKE_GENERATOR)" \
|
-G"$(CMAKE_GENERATOR)" \
|
||||||
-DGIT_VERSION=$(GIT_VERSION) \
|
-DGIT_VERSION=$(GIT_VERSION) \
|
||||||
@@ -82,7 +85,8 @@ release/CMakeLists.txt:
|
|||||||
-DLINK_LLVM_SHARED=${LLVM_SHARED} \
|
-DLINK_LLVM_SHARED=${LLVM_SHARED} \
|
||||||
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
-DCMAKE_PREFIX=${CMAKE_PREFIX} \
|
||||||
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
|
-DENABLE_CUDA_TEST_CASES=$(ENABLE_CUDA_TEST_CASES) \
|
||||||
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES)
|
-DENABLE_CXX_MODULES_TEST_CASES=$(ENABLE_CXX_MODULES_TEST_CASES) \
|
||||||
|
-DCLANG_UML_ENABLE_BACKTRACE=$(CLANG_UML_ENABLE_BACKTRACE)
|
||||||
|
|
||||||
debug_tidy/CMakeLists.txt:
|
debug_tidy/CMakeLists.txt:
|
||||||
cmake -S . -B debug_tidy \
|
cmake -S . -B debug_tidy \
|
||||||
|
|||||||
Reference in New Issue
Block a user