diff options
author | Vadim Zhukov <persgray@gmail.com> | 2013-12-10 11:05:02 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-12-19 15:22:04 (GMT) |
commit | 9650c09b952598e39b67962411900ef6303d4117 (patch) | |
tree | 2b8ceb61a0ff3a72a163bd435f7c1e85a61fdbef /Modules | |
parent | 2a384e08cc0809fec75ebb20be585fb5a1bf591a (diff) | |
download | CMake-9650c09b952598e39b67962411900ef6303d4117.zip CMake-9650c09b952598e39b67962411900ef6303d4117.tar.gz CMake-9650c09b952598e39b67962411900ef6303d4117.tar.bz2 |
FindBacktrace: Search and report only when not already found
Avoid saying "... detected in default set..." each time CMake is run.
Prompted by Rolf Eike Beer on cmake-developers@.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindBacktrace.cmake | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/Modules/FindBacktrace.cmake b/Modules/FindBacktrace.cmake index 56e739e..83789cc 100644 --- a/Modules/FindBacktrace.cmake +++ b/Modules/FindBacktrace.cmake @@ -58,17 +58,20 @@ endif(Backtrace_HEADER) find_path(Backtrace_INCLUDE_DIR "${_Backtrace_HEADER_TRY}") set(Backtrace_INCLUDE_DIRS ${Backtrace_INCLUDE_DIR}) -# First, check if we already have backtrace(), e.g., in libc -cmake_push_check_state(RESET) -set(CMAKE_REQUIRED_INCLUDES ${Backtrace_INCLUDE_DIRS}) -check_symbol_exists("backtrace" "${_Backtrace_HEADER_TRY}" _Backtrace_SYM_FOUND) -cmake_pop_check_state() +if (NOT DEFINED Backtrace_LIBRARY) + # First, check if we already have backtrace(), e.g., in libc + cmake_push_check_state(RESET) + set(CMAKE_REQUIRED_INCLUDES ${Backtrace_INCLUDE_DIRS}) + check_symbol_exists("backtrace" "${_Backtrace_HEADER_TRY}" _Backtrace_SYM_FOUND) + cmake_pop_check_state() +endif() if(_Backtrace_SYM_FOUND) - set(Backtrace_LIBRARY) - if(NOT Backtrace_FIND_QUIETLY) + # Avoid repeating the message() call below each time CMake is run. + if(NOT Backtrace_FIND_QUIETLY AND NOT DEFINED Backtrace_LIBRARY) message(STATUS "backtrace facility detected in default set of libraries") endif() + set(Backtrace_LIBRARY "" CACHE FILEPATH "Library providing backtrace(3), empty for default set of libraries") else() # Check for external library, for non-glibc systems if(Backtrace_INCLUDE_DIR) |