From 897a9a17700fb855d37e22193e221c65b9b5474b Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Fri, 21 Jun 2024 19:53:29 +0300 Subject: [PATCH] Add the boost_stacktrace library to CMakeLists.txt (an alias to the default backend) --- CMakeLists.txt | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 91533ec..37d72e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,20 +96,37 @@ stacktrace_add_library(basic ${BOOST_STACKTRACE_ENABLE_BASIC} "${CMAKE_DL_LIBS}" stacktrace_add_library(windbg ${BOOST_STACKTRACE_ENABLE_WINDBG} "dbgeng;ole32" "_GNU_SOURCE=1") stacktrace_add_library(windbg_cached ${BOOST_STACKTRACE_ENABLE_WINDBG_CACHED} "dbgeng;ole32" "_GNU_SOURCE=1") +# boost_stacktrace, default library + +add_library(boost_stacktrace INTERFACE) +add_library(Boost::stacktrace ALIAS boost_stacktrace) + +target_include_directories(boost_stacktrace INTERFACE include) + +if(BOOST_STACKTRACE_ENABLE_WINDBG) + + target_link_libraries(boost_stacktrace INTERFACE boost_stacktrace_windbg) + +elseif(BOOST_STACKTRACE_ENABLE_BACKTRACE) + + target_link_libraries(boost_stacktrace INTERFACE boost_stacktrace_backtrace) + +elseif(BOOST_STACKTRACE_ENABLE_ADDR2LINE) + + target_link_libraries(boost_stacktrace INTERFACE boost_stacktrace_addr2line) + +elseif(BOOST_STACKTRACE_ENABLE_BASIC) + + target_link_libraries(boost_stacktrace INTERFACE boost_stacktrace_basic) + +elseif(BOOST_STACKTRACE_ENABLE_NOOP) + + target_link_libraries(boost_stacktrace INTERFACE boost_stacktrace_noop) -# Alias target for platform defaults (only if they enabled). -if(WIN32) - if(BOOST_STACKTRACE_ENABLE_WINDBG) - add_library(Boost::stacktrace ALIAS boost_stacktrace_windbg) - endif() -else() - if(BOOST_STACKTRACE_ENABLE_BACKTRACE) - add_library(Boost::stacktrace ALIAS boost_stacktrace_backtrace) - elseif(BOOST_STACKTRACE_ENABLE_BASIC) - add_library(Boost::stacktrace ALIAS boost_stacktrace_basic) - endif() endif() +# + if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt") add_subdirectory(test)