-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathlibbacktrace.cmake
More file actions
27 lines (21 loc) · 1.18 KB
/
libbacktrace.cmake
File metadata and controls
27 lines (21 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
include(ExternalProject)
set(LIBBACKTRACE_BUILD_DIR "${PROJECT_BINARY_DIR}/libbacktrace/build")
set(LIBBACKTRACE_DIR "${PROJECT_BINARY_DIR}/libbacktrace/bin")
set(LIBBACKTRACE_LIBS
${LIBBACKTRACE_DIR}/lib/libbacktrace.a)
ExternalProject_Add(libbacktrace_build
DOWNLOAD_COMMAND rsync -a --exclude=.* ${PROJECT_SOURCE_DIR}/libbacktrace/ ${LIBBACKTRACE_BUILD_DIR}
PREFIX ${LIBBACKTRACE_DIR}
SOURCE_DIR ${LIBBACKTRACE_BUILD_DIR}
CONFIGURE_COMMAND ./configure --prefix "${LIBBACKTRACE_DIR}" --with-pic --enable-static --disable-shared --enable-minidebuginfo "CFLAGS=-O3 -fPIC -I\"${liblzma_DIR}/include\"" "LDFLAGS=-L${liblzma_DIR}/lib/"
BINARY_DIR ${LIBBACKTRACE_BUILD_DIR}
BUILD_COMMAND ${SUB_MAKE} ${SUB_MAKE_FLAGS}
BUILD_BYPRODUCTS ${LIBBACKTRACE_LIBS}
INSTALL_DIR ${LIBBACKTRACE_DIR}
INSTALL_COMMAND ${SUB_MAKE} ${SUB_MAKE_FLAGS} install
DEPENDS liblzma
)
add_library(libbacktrace INTERFACE)
target_include_directories(libbacktrace INTERFACE "${LIBBACKTRACE_DIR}/include")
target_link_libraries(libbacktrace INTERFACE ${LIBBACKTRACE_LIBS} liblzma)
add_dependencies(libbacktrace libbacktrace_build)