mirror of https://github.com/vitalif/zbackup
parent
c548d81fa8
commit
afbad440b8
|
@ -41,6 +41,14 @@ else ( LIBLZO_FOUND )
|
||||||
set( LIBLZO_LIBRARIES )
|
set( LIBLZO_LIBRARIES )
|
||||||
endif( LIBLZO_FOUND )
|
endif( LIBLZO_FOUND )
|
||||||
|
|
||||||
|
find_package( LibUnwind COMPONENTS LIBUNWIND_HAS_UNW_GETCONTEXT LIBUNWIND_HAS_INIT_LOCAL )
|
||||||
|
if ( LIBUNWIND_FOUND )
|
||||||
|
ADD_DEFINITIONS( -DHAVE_LIBUNWIND )
|
||||||
|
include_directories( ${LIBUNWIND_INCLUDE_DIRS} )
|
||||||
|
else ( LIBUNWIND_FOUND )
|
||||||
|
set( LIBUNWIND_LIBRARIES )
|
||||||
|
endif( LIBUNWIND_FOUND )
|
||||||
|
|
||||||
file( GLOB sourceFiles "*.cc" )
|
file( GLOB sourceFiles "*.cc" )
|
||||||
add_executable( zbackup ${sourceFiles} ${protoSrcs} ${protoHdrs} )
|
add_executable( zbackup ${sourceFiles} ${protoSrcs} ${protoHdrs} )
|
||||||
|
|
||||||
|
@ -51,6 +59,7 @@ target_link_libraries( zbackup
|
||||||
${ZLIB_LIBRARIES}
|
${ZLIB_LIBRARIES}
|
||||||
${LIBLZMA_LIBRARIES}
|
${LIBLZMA_LIBRARIES}
|
||||||
${LIBLZO_LIBRARIES}
|
${LIBLZO_LIBRARIES}
|
||||||
|
${LIBUNWIND_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
install( TARGETS zbackup DESTINATION bin )
|
install( TARGETS zbackup DESTINATION bin )
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
#.rst:
|
||||||
|
# FindLibUnwind
|
||||||
|
# -----------
|
||||||
|
#
|
||||||
|
# Find LibUnwind
|
||||||
|
#
|
||||||
|
# Find LibUnwind headers and library
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# LIBUNWIND_FOUND - True if libunwind is found.
|
||||||
|
# LIBUNWIND_INCLUDE_DIRS - Directory where libunwind headers are located.
|
||||||
|
# LIBUNWIND_LIBRARIES - Unwind libraries to link against.
|
||||||
|
# LIBUNWIND_HAS_UNW_GETCONTEXT - True if unw_getcontext() is found (required).
|
||||||
|
# LIBUNWIND_HAS_UNW_INIT_LOCAL - True if unw_init_local() is found (required).
|
||||||
|
# LIBUNWIND_VERSION_STRING - version number as a string (ex: "5.0.3")
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2014 ZBackup contributors
|
||||||
|
#
|
||||||
|
# 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.)
|
||||||
|
|
||||||
|
|
||||||
|
find_path(LIBUNWIND_INCLUDE_DIR libunwind.h )
|
||||||
|
if(NOT EXISTS "${LIBUNWIND_INCLUDE_DIR}/unwind.h")
|
||||||
|
MESSAGE(FATAL_ERROR "found libunwind.h but corresponding unwind.h is absent!")
|
||||||
|
SET(LIBUNWIND_INCLUDE_DIR "")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_library(LIBUNWIND_LIBRARY unwind)
|
||||||
|
|
||||||
|
if(LIBUNWIND_INCLUDE_DIR AND EXISTS "${LIBUNWIND_INCLUDE_DIR}/libunwind-common.h")
|
||||||
|
file(STRINGS "${LIBUNWIND_INCLUDE_DIR}/libunwind-common.h" LIBUNWIND_HEADER_CONTENTS REGEX "#define UNW_VERSION_[A-Z]+\t[0-9]*")
|
||||||
|
|
||||||
|
string(REGEX REPLACE ".*#define UNW_VERSION_MAJOR\t([0-9]*).*" "\\1" LIBUNWIND_VERSION_MAJOR "${LIBUNWIND_HEADER_CONTENTS}")
|
||||||
|
string(REGEX REPLACE ".*#define UNW_VERSION_MINOR\t([0-9]*).*" "\\1" LIBUNWIND_VERSION_MINOR "${LIBUNWIND_HEADER_CONTENTS}")
|
||||||
|
string(REGEX REPLACE ".*#define UNW_VERSION_EXTRA\t([0-9]*).*" "\\1" LIBUNWIND_VERSION_EXTRA "${LIBUNWIND_HEADER_CONTENTS}")
|
||||||
|
|
||||||
|
if(LIBUNWIND_VERSION_EXTRA)
|
||||||
|
set(LIBUNWIND_VERSION_STRING "${LIBUNWIND_VERSION_MAJOR}.${LIBUNWIND_VERSION_MINOR}.${LIBUNWIND_VERSION_EXTRA}")
|
||||||
|
else(not LIBUNWIND_VERSION_EXTRA)
|
||||||
|
set(LIBUNWIND_VERSION_STRING "${LIBUNWIND_VERSION_MAJOR}.${LIBUNWIND_VERSION_MINOR}")
|
||||||
|
endif()
|
||||||
|
unset(LIBUNWIND_HEADER_CONTENTS)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (LIBUNWIND_LIBRARY)
|
||||||
|
include(CheckSymbolExists)
|
||||||
|
set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
|
||||||
|
set(CMAKE_REQUIRED_QUIET ${LibUnwind_FIND_QUIETLY})
|
||||||
|
CHECK_SYMBOL_EXISTS(unw_getcontext "${LIBUNWIND_INCLUDE_DIR}/libunwind.h" LIBUNWIND_HAS_UNW_GETCONTEXT)
|
||||||
|
CHECK_SYMBOL_EXISTS(unw_init_local "${LIBUNWIND_INCLUDE_DIR}/libunwind.h" LIBUNWIND_HAS_UNW_INIT_LOCAL)
|
||||||
|
set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibUnwind REQUIRED_VARS LIBUNWIND_INCLUDE_DIR
|
||||||
|
LIBUNWIND_LIBRARY
|
||||||
|
LIBUNWIND_HAS_UNW_GETCONTEXT
|
||||||
|
LIBUNWIND_HAS_UNW_INIT_LOCAL
|
||||||
|
VERSION_VAR LIBUNWIND_VERSION_STRING
|
||||||
|
)
|
||||||
|
|
||||||
|
if (LIBUNWIND_FOUND)
|
||||||
|
set(LIBUNWIND_LIBRARIES ${LIBUNWIND_LIBRARY})
|
||||||
|
set(LIBUNWIND_INCLUDE_DIRS ${LIBUNWIND_INCLUDE_DIR})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
mark_as_advanced( LIBUNWIND_INCLUDE_DIR LIBUNWIND_LIBRARY )
|
7
debug.cc
7
debug.cc
|
@ -2,3 +2,10 @@
|
||||||
// Part of ZBackup. Licensed under GNU GPLv2 or later + OpenSSL, see LICENSE
|
// Part of ZBackup. Licensed under GNU GPLv2 or later + OpenSSL, see LICENSE
|
||||||
|
|
||||||
bool verboseMode = true;
|
bool verboseMode = true;
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
#ifdef HAVE_LIBUNWIND
|
||||||
|
#include "debug.hh"
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
10
debug.hh
10
debug.hh
|
@ -12,9 +12,19 @@
|
||||||
|
|
||||||
#define dPrintf( ... ) (fprintf( stderr, __VA_ARGS__ ))
|
#define dPrintf( ... ) (fprintf( stderr, __VA_ARGS__ ))
|
||||||
|
|
||||||
|
#ifdef HAVE_LIBUNWIND
|
||||||
|
#define UNW_LOCAL_ONLY
|
||||||
|
#include <libunwind.h>
|
||||||
|
|
||||||
|
#define dPrintBacktrace( ... ) ()
|
||||||
|
#else
|
||||||
|
#define dPrintBacktrace( ... ) ()
|
||||||
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define dPrintf( ... )
|
#define dPrintf( ... )
|
||||||
|
#define dPrintBacktrace( ... ) ()
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,10 @@ LICENSE-GPLV3.
|
||||||
EXCEPTION: This distribution of ZBackup may be linked against OpenSSL
|
EXCEPTION: This distribution of ZBackup may be linked against OpenSSL
|
||||||
according to the terms of the section below entitled "OpenSSL Exception."
|
according to the terms of the section below entitled "OpenSSL Exception."
|
||||||
|
|
||||||
|
ADDITION: This distribution of ZBackup uses sources from CMake project
|
||||||
|
which is distributed under the OSI-approved BSD 3-clause License.
|
||||||
|
See LICENSE-CMAKE for details.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful, but
|
This program is distributed in the hope that it will be useful, but
|
||||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
|
@ -0,0 +1,57 @@
|
||||||
|
CMake - Cross Platform Makefile Generator
|
||||||
|
Copyright 2000-2014 Kitware, Inc.
|
||||||
|
Copyright 2000-2011 Insight Software Consortium
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
* Neither the names of Kitware, Inc., the Insight Software Consortium,
|
||||||
|
nor the names of their contributors may be used to endorse or promote
|
||||||
|
products derived from this software without specific prior written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
The above copyright and license notice applies to distributions of
|
||||||
|
CMake in source and binary form. Some source files contain additional
|
||||||
|
notices of original copyright by their contributors; see each source
|
||||||
|
for details. Third-party software packages supplied with CMake under
|
||||||
|
compatible licenses provide their own copyright notices documented in
|
||||||
|
corresponding subdirectories.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CMake was initially developed by Kitware with the following sponsorship:
|
||||||
|
|
||||||
|
* National Library of Medicine at the National Institutes of Health
|
||||||
|
as part of the Insight Segmentation and Registration Toolkit (ITK).
|
||||||
|
|
||||||
|
* US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
|
||||||
|
Visualization Initiative.
|
||||||
|
|
||||||
|
* National Alliance for Medical Image Computing (NAMIC) is funded by the
|
||||||
|
National Institutes of Health through the NIH Roadmap for Medical Research,
|
||||||
|
Grant U54 EB005149.
|
||||||
|
|
||||||
|
* Kitware, Inc.
|
Loading…
Reference in New Issue