This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  ad057a104e2340e50cb08b95e8afbb92592bd112 (commit)
       via  c6f339ceb84876a865ae96cf3db4c1ff856c65be (commit)
      from  534ca7e23e05b341d5695546bf0f11a89e4440e1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ad057a104e2340e50cb08b95e8afbb92592bd112
commit ad057a104e2340e50cb08b95e8afbb92592bd112
Merge: 534ca7e c6f339c
Author:     Vadim Zhukov <persg...@gmail.com>
AuthorDate: Wed Nov 20 16:01:27 2013 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Wed Nov 20 16:01:27 2013 -0500

    Merge topic 'find_backtrace' into next
    
    c6f339c Add FindBacktrace.cmake module.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c6f339ceb84876a865ae96cf3db4c1ff856c65be
commit c6f339ceb84876a865ae96cf3db4c1ff856c65be
Author:     Vadim Zhukov <persg...@gmail.com>
AuthorDate: Sun Jul 28 14:31:30 2013 +0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Oct 16 10:53:01 2013 -0400

    Add FindBacktrace.cmake module.
    
    It designed to search for implementation of backtrace(3) routine.
    Currently it is used in OpenBSD Ports for building Clementine
    music player.
    
    A lot of input from brad.king@ and neundorf@.

diff --git a/Help/manual/cmake-modules.7.rst b/Help/manual/cmake-modules.7.rst
index da518d3..9235b8c 100644
--- a/Help/manual/cmake-modules.7.rst
+++ b/Help/manual/cmake-modules.7.rst
@@ -70,6 +70,7 @@ All Modules
    /module/FindAVIFile
    /module/FindBISON
    /module/FindBLAS
+   /module/FindBacktrace
    /module/FindBoost
    /module/FindBullet
    /module/FindBZip2
diff --git a/Help/module/FindBacktrace.rst b/Help/module/FindBacktrace.rst
new file mode 100644
index 0000000..e1ca48c
--- /dev/null
+++ b/Help/module/FindBacktrace.rst
@@ -0,0 +1 @@
+.. cmake-module:: ../../Modules/FindBacktrace.cmake
diff --git a/Modules/FindBacktrace.cmake b/Modules/FindBacktrace.cmake
new file mode 100644
index 0000000..56e739e
--- /dev/null
+++ b/Modules/FindBacktrace.cmake
@@ -0,0 +1,91 @@
+#.rst:
+# FindBacktrace
+# -------------
+#
+# Find provider for backtrace(3).
+#
+# Checks if OS supports backtrace(3) via either libc or custom library.
+# This module defines the following variables::
+#
+#  Backtrace_HEADER       - The header file needed for backtrace(3). Cached.
+#                           Could be forcibly set by user.
+#  Backtrace_INCLUDE_DIRS - The include directories needed to use backtrace(3) 
header.
+#  Backtrace_LIBRARIES    - The libraries (linker flags) needed to use 
backtrace(3), if any.
+#  Backtrace_FOUND        - Is set if and only if backtrace(3) support 
detected.
+#
+# The following cache variables are also available to set or use::
+#
+#  Backtrace_LIBRARY     - The external library providing backtrace, if any.
+#  Backtrace_INCLUDE_DIR - The directory holding the backtrace(3) header.
+#
+# Typical usage is to generate of header file using configure_file() with the
+# contents like the following::
+#
+#  #cmakedefine01 Backtrace_FOUND
+#  #if Backtrace_FOUND
+#  # include <${Backtrace_HEADER}>
+#  #endif
+#
+# And then reference that generated header file in actual source.
+
+#=============================================================================
+# Copyright 2013 Vadim Zhukov
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+
+include(CMakePushCheckState)
+include(CheckSymbolExists)
+include(FindPackageHandleStandardArgs)
+
+# List of variables to be provided to find_package_handle_standard_args()
+set(_Backtrace_STD_ARGS Backtrace_INCLUDE_DIR)
+
+if(Backtrace_HEADER)
+  set(_Backtrace_HEADER_TRY "${Backtrace_HEADER}")
+else(Backtrace_HEADER)
+  set(_Backtrace_HEADER_TRY "execinfo.h")
+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(_Backtrace_SYM_FOUND)
+  set(Backtrace_LIBRARY)
+  if(NOT Backtrace_FIND_QUIETLY)
+    message(STATUS "backtrace facility detected in default set of libraries")
+  endif()
+else()
+  # Check for external library, for non-glibc systems
+  if(Backtrace_INCLUDE_DIR)
+    # OpenBSD has libbacktrace renamed to libexecinfo
+    find_library(Backtrace_LIBRARY "execinfo")
+  elseif()     # respect user wishes
+    set(_Backtrace_HEADER_TRY "backtrace.h")
+    find_path(Backtrace_INCLUDE_DIR ${_Backtrace_HEADER_TRY})
+    find_library(Backtrace_LIBRARY "backtrace")
+  endif()
+
+  # Prepend list with library path as it's more common practice
+  set(_Backtrace_STD_ARGS Backtrace_LIBRARY ${_Backtrace_STD_ARGS})
+endif()
+
+set(Backtrace_LIBRARIES ${Backtrace_LIBRARY})
+set(Backtrace_HEADER "${_Backtrace_HEADER_TRY}" CACHE STRING "Header providing 
backtrace(3) facility")
+
+find_package_handle_standard_args(Backtrace FOUND_VAR Backtrace_FOUND 
REQUIRED_VARS ${_Backtrace_STD_ARGS})
+mark_as_advanced(Backtrace_HEADER Backtrace_INCLUDE_DIR Backtrace_LIBRARY)

-----------------------------------------------------------------------

Summary of changes:
 Help/manual/cmake-modules.7.rst |    1 +
 Help/module/FindBacktrace.rst   |    1 +
 Modules/FindBacktrace.cmake     |   91 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 93 insertions(+), 0 deletions(-)
 create mode 100644 Help/module/FindBacktrace.rst
 create mode 100644 Modules/FindBacktrace.cmake


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to