From 640ff6b51c249b44c382eb92c03dafbfb482bc91 Mon Sep 17 00:00:00 2001 From: Julien Louis Date: Sat, 1 Nov 2008 23:03:56 +0100 Subject: [PATCH] Backtrace feature is shipped by an external library on FreeBSD (and maybe others) Link against that library if installed --- src/core/CMakeLists.txt | 9 ++++++++- src/gui/curses/CMakeLists.txt | 6 ++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 5ba54edf1..fe6d9f2fd 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -37,7 +37,14 @@ wee-util.c wee-util.h) INCLUDE(CheckSymbolExists) CHECK_INCLUDE_FILES("sys/file.h" HAVE_SYS_FILE_H) CHECK_SYMBOL_EXISTS(flock "sys/file.h" HAVE_FLOCK) -CHECK_SYMBOL_EXISTS(backtrace "execinfo.h" HAVE_BACKTRACE) + +IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + FIND_LIBRARY(EXECINFO_LIB_PATH execinfo /usr/local/lib) + SET(CMAKE_REQUIRED_LIBRARIES "${EXECINFO_LIB_PATH}") + CHECK_FUNCTION_EXISTS(backtrace HAVE_BACKTRACE) +ELSE(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + CHECK_SYMBOL_EXISTS(backtrace "execinfo.h" HAVE_BACKTRACE) +ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") IF(GNUTLS_FOUND) INCLUDE_DIRECTORIES(${GNUTLS_INCLUDE_PATH}) diff --git a/src/gui/curses/CMakeLists.txt b/src/gui/curses/CMakeLists.txt index 1b7a779bc..d6be04071 100644 --- a/src/gui/curses/CMakeLists.txt +++ b/src/gui/curses/CMakeLists.txt @@ -42,6 +42,12 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") LIST(APPEND EXTRA_LIBS "utf8") ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") +IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + IF(HAVE_BACKTRACE) + LIST(APPEND EXTRA_LIBS "execinfo") + ENDIF(HAVE_BACKTRACE) +ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + ADD_EXECUTABLE(${EXECUTABLE} ${WEECHAT_CURSES_SRC}) INCLUDE_DIRECTORIES(.. ../../core ../../plugins)