Merge topic 'find_backtrace'

9650c09 FindBacktrace: Search and report only when not already found
This commit is contained in:
Brad King 2013-12-20 09:41:10 -05:00 committed by CMake Topic Stage
commit c6072c7806
1 changed files with 10 additions and 7 deletions

View File

@ -58,17 +58,20 @@ endif(Backtrace_HEADER)
find_path(Backtrace_INCLUDE_DIR "${_Backtrace_HEADER_TRY}") find_path(Backtrace_INCLUDE_DIR "${_Backtrace_HEADER_TRY}")
set(Backtrace_INCLUDE_DIRS ${Backtrace_INCLUDE_DIR}) set(Backtrace_INCLUDE_DIRS ${Backtrace_INCLUDE_DIR})
# First, check if we already have backtrace(), e.g., in libc if (NOT DEFINED Backtrace_LIBRARY)
cmake_push_check_state(RESET) # First, check if we already have backtrace(), e.g., in libc
set(CMAKE_REQUIRED_INCLUDES ${Backtrace_INCLUDE_DIRS}) cmake_push_check_state(RESET)
check_symbol_exists("backtrace" "${_Backtrace_HEADER_TRY}" _Backtrace_SYM_FOUND) set(CMAKE_REQUIRED_INCLUDES ${Backtrace_INCLUDE_DIRS})
cmake_pop_check_state() check_symbol_exists("backtrace" "${_Backtrace_HEADER_TRY}" _Backtrace_SYM_FOUND)
cmake_pop_check_state()
endif()
if(_Backtrace_SYM_FOUND) if(_Backtrace_SYM_FOUND)
set(Backtrace_LIBRARY) # Avoid repeating the message() call below each time CMake is run.
if(NOT Backtrace_FIND_QUIETLY) if(NOT Backtrace_FIND_QUIETLY AND NOT DEFINED Backtrace_LIBRARY)
message(STATUS "backtrace facility detected in default set of libraries") message(STATUS "backtrace facility detected in default set of libraries")
endif() endif()
set(Backtrace_LIBRARY "" CACHE FILEPATH "Library providing backtrace(3), empty for default set of libraries")
else() else()
# Check for external library, for non-glibc systems # Check for external library, for non-glibc systems
if(Backtrace_INCLUDE_DIR) if(Backtrace_INCLUDE_DIR)