diff --git a/CMakeLists.txt b/CMakeLists.txt index 97327cc..68cec4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,14 +44,6 @@ if (DEFINED ENV{OMPI_CXX} OR DEFINED ENV{MPICH_CXX}) endif() endif() -# set CXX standard -set(CMAKE_CXX_STANDARD_REQUIRED True) -set(CMAKE_CXX_STANDARD 11) -if (${COMPILER_IS_NVCC}) - # GNU CXX extensions are not supported by nvcc - set(CMAKE_CXX_EXTENSIONS OFF) -endif() - ############################################################################### # COMPILER FLAGS ############################################################################### @@ -71,6 +63,16 @@ endif() add_library(backward_object OBJECT backward.cpp) target_compile_definitions(backward_object PRIVATE ${BACKWARD_DEFINITIONS}) target_include_directories(backward_object PRIVATE ${BACKWARD_INCLUDE_DIRS}) +if(BACKWARD_HAS_EXTERNAL_LIBRARIES) + target_link_libraries(backward_object PUBLIC ${BACKWARD_LIBRARIES}) +endif() +# set CXX standard +set_property(TARGET backward_object PROPERTY CXX_STANDARD_REQUIRED True) +set_property(TARGET backward_object PROPERTY CXX_STANDARD 11) +if (${COMPILER_IS_NVCC}) + # GNU CXX extensions are not supported by nvcc + set_property(TARGET backward_object PROPERTY CXX_EXTENSIONS OFF) +endif() set(BACKWARD_ENABLE $ CACHE STRING "Link with this object to setup backward automatically") @@ -86,6 +88,18 @@ endif() add_library(backward ${libtype} backward.cpp) target_compile_definitions(backward PUBLIC ${BACKWARD_DEFINITIONS}) target_include_directories(backward PUBLIC ${BACKWARD_INCLUDE_DIRS}) +if(BACKWARD_HAS_EXTERNAL_LIBRARIES) + target_link_libraries(backward PUBLIC ${BACKWARD_LIBRARIES}) +endif() +# set CXX standard +set_property(TARGET backward PROPERTY CXX_STANDARD_REQUIRED True) +set_property(TARGET backward PROPERTY CXX_STANDARD 11) +if (${COMPILER_IS_NVCC}) + # GNU CXX extensions are not supported by nvcc + set_property(TARGET backward PROPERTY CXX_EXTENSIONS OFF) +endif() + +add_library(Backward::Backward ALIAS backward) ############################################################################### # TESTS diff --git a/README.md b/README.md index 031716f..4bc76c4 100644 --- a/README.md +++ b/README.md @@ -57,12 +57,9 @@ In this case you have a subdirectory containing the whole repository of Backward ``` add_subdirectory(/path/to/backward-cpp) -# This will add backward.cpp to your target -add_executable(mytarget mysource.cpp ${BACKWARD_ENABLE}) - # This will add libraries, definitions and include directories needed by backward -# by setting each property on the target. -add_backward(mytarget) +# through an ALIAS target. +target_link_libraries(mytarget PUBLIC Backward::Backward) ``` #### Modifying CMAKE_MODULE_PATH