Skip to content

Commit 3df20bd

Browse files
authored
Merge pull request #94 from DanySpin97/execinfo
Link with libexecinfo if needed, for backtrace
2 parents 618c418 + d8804ca commit 3df20bd

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

CMakeLists.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,30 @@ PKG_CHECK_MODULES(GLIBPKG glib-2.0>=2.10 gthread-2.0 REQUIRED)
9393
PKG_CHECK_MODULES(SQLITE3 sqlite3 REQUIRED)
9494
INCLUDE_DIRECTORIES(${GLIBPKG_INCLUDE_DIRS})
9595

96+
97+
# --------------------------
98+
# Check for backtrace
99+
# --------------------------
100+
101+
INCLUDE(CheckIncludeFile)
102+
CHECK_INCLUDE_FILE("execinfo.h" HAVE_EXECINFO)
103+
IF(NOT HAVE_EXECINFO)
104+
MESSAGE(FATAL_ERROR "execinfo.h could not be found on the system")
105+
ENDIF(NOT HAVE_EXECINFO)
106+
107+
INCLUDE(CheckSymbolExists)
108+
CHECK_SYMBOL_EXISTS("backtrace" "execinfo.h" HAVE_BACKTRACE)
109+
IF(NOT HAVE_BACKTRACE)
110+
SET(CMAKE_REQUIRED_FLAGS "-lexecinfo")
111+
CHECK_SYMBOL_EXISTS("backtrace" "execinfo.h" HAVE_LIBEXECINFO)
112+
IF(HAVE_LIBEXECINFO)
113+
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lexecinfo")
114+
ELSE(HAVE_LIBEXECINFO)
115+
MESSAGE(FATAL_ERROR "Could not link to libexecinfo")
116+
ENDIF(HAVE_LIBEXECINFO)
117+
ENDIF(NOT HAVE_BACKTRACE)
118+
119+
96120
# --------------------------
97121
# set directories
98122
# --------------------------

0 commit comments

Comments
 (0)