2016-06-19 23:34:06 +00:00
|
|
|
# - Try to find libunwind
|
|
|
|
# Once done this will define
|
|
|
|
#
|
|
|
|
# LIBUNWIND_FOUND - system has libunwind
|
|
|
|
# LIBUNWIND_INCLUDE_DIR - the libunwind include directory
|
|
|
|
# LIBUNWIND_LIBRARIES - Link these to use libunwind
|
|
|
|
# LIBUNWIND_DEFINITIONS - Compiler switches required for using libunwind
|
|
|
|
|
|
|
|
# Copyright (c) 2006, Alexander Dymo, <adymo@kdevelop.org>
|
|
|
|
#
|
|
|
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
|
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
|
|
|
|
|
|
find_path(LIBUNWIND_INCLUDE_DIR libunwind.h
|
|
|
|
/usr/include
|
|
|
|
/usr/local/include
|
|
|
|
)
|
|
|
|
|
|
|
|
find_library(LIBUNWIND_LIBRARIES NAMES unwind )
|
2016-12-10 11:17:27 +00:00
|
|
|
if(NOT LIBUNWIND_LIBRARIES STREQUAL "LIBUNWIND_LIBRARIES-NOTFOUND")
|
|
|
|
if (CMAKE_COMPILER_IS_GNUCC)
|
|
|
|
set(LIBUNWIND_LIBRARIES "gcc_eh;${LIBUNWIND_LIBRARIES}")
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# some versions of libunwind need liblzma, and we don't use pkg-config
|
|
|
|
# so we just look whether liblzma is installed, and add it if it is.
|
|
|
|
# It might not be actually needed, but doesn't hurt if it is not.
|
|
|
|
# We don't need any headers, just the lib, as it's privately needed.
|
|
|
|
message(STATUS "looking for liblzma")
|
|
|
|
find_library(LIBLZMA_LIBRARIES lzma )
|
|
|
|
if(NOT LIBLZMA_LIBRARIES STREQUAL "LIBLZMA_LIBRARIES-NOTFOUND")
|
|
|
|
message(STATUS "liblzma found")
|
|
|
|
set(LIBUNWIND_LIBRARIES "${LIBUNWIND_LIBRARIES};${LIBLZMA_LIBRARIES}")
|
|
|
|
endif()
|
2016-06-19 23:34:06 +00:00
|
|
|
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
find_package_handle_standard_args(Libunwind "Could not find libunwind" LIBUNWIND_INCLUDE_DIR LIBUNWIND_LIBRARIES)
|
|
|
|
# show the LIBUNWIND_INCLUDE_DIR and LIBUNWIND_LIBRARIES variables only in the advanced view
|
|
|
|
mark_as_advanced(LIBUNWIND_INCLUDE_DIR LIBUNWIND_LIBRARIES )
|
|
|
|
|