From 042db0bd0f852b5643870588f48643db88b77035 Mon Sep 17 00:00:00 2001 From: redfish Date: Thu, 28 Jul 2016 21:19:01 -0400 Subject: cmake: cleanup logic that sets flags per target/subdir The previous logic that used a COMMON_*_FLAGS intermediate variable and then re-assigned CMAKE_*_FLAGS before including each subdirectory was confusing and ugly. This PR is the right way to do it. This commit is purely refactoring: built binaries unchanged. --- src/CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e2349744d..8fa617aff 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -47,6 +47,17 @@ function (bitmonero_install_headers subdir) COMPONENT development) endfunction () +function (enable_stack_trace target) + if(STACK_TRACE) + set_property(TARGET ${target} + APPEND PROPERTY COMPILER_DEFINITIONS "-DSTACK_TRACE") + if (STATIC) + set_property(TARGET "${target}" + APPEND PROPERTY LINK_FLAGS "-Wl,--wrap=__cxa_throw") + endif() + endif() +endfunction() + function (bitmonero_add_executable name) source_group("${name}" FILES @@ -63,6 +74,7 @@ function (bitmonero_add_executable name) set_property(TARGET "${name}" PROPERTY RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") + enable_stack_trace("${name}") endfunction () function (bitmonero_add_library name) -- cgit v1.2.3