diff --git a/CMakeLists.txt b/CMakeLists.txt index 91533ec..c6c4f8a 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)