Fix building libbacktrace (still horrible though)

This commit is contained in:
Nikita Lisitsa 2023-08-06 18:32:18 +03:00
parent 248bd049db
commit 2bff6d6cf3

View file

@ -7,18 +7,14 @@ set(LIBBACKTRACE_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/libbacktrace")
set(LIBBACKTRACE_INCLUDE_DIR "${LIBBACKTRACE_BUILD_DIR}/include")
set(LIBBACKTRACE_LIBRARY "${LIBBACKTRACE_BUILD_DIR}/.libs/libbacktrace.a")
add_custom_command(
OUTPUT "${LIBBACKTRACE_LIBRARY}"
COMMAND mkdir -p "${LIBBACKTRACE_BUILD_DIR}"
COMMAND mkdir -p "${LIBBACKTRACE_INCLUDE_DIR}"
COMMAND cp -r "${LIBBACKTRACE_SOURCE_DIR}/*" "${LIBBACKTRACE_BUILD_DIR}"
COMMAND cp "${LIBBACKTRACE_SOURCE_DIR}/backtrace.h" "${LIBBACKTRACE_INCLUDE_DIR}"
COMMAND cd "${LIBBACKTRACE_BUILD_DIR}" && ./configure
COMMAND cd "${LIBBACKTRACE_BUILD_DIR}" && make
)
if(NOT EXISTS "${LIBBACKTRACE_BUILD_DIR}")
file(COPY "${LIBBACKTRACE_SOURCE_DIR}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
make_directory("${LIBBACKTRACE_INCLUDE_DIR}")
file(COPY "${LIBBACKTRACE_SOURCE_DIR}/backtrace.h" DESTINATION "${LIBBACKTRACE_INCLUDE_DIR}")
execute_process(COMMAND "./configure" WORKING_DIRECTORY "${LIBBACKTRACE_BUILD_DIR}")
execute_process(COMMAND "make" WORKING_DIRECTORY "${LIBBACKTRACE_BUILD_DIR}")
endif()
add_library(libbacktrace STATIC IMPORTED GLOBAL)
set_target_properties(libbacktrace PROPERTIES
IMPORTED_LOCATION "${LIBBACKTRACE_LIBRARY}"
)
add_library(libbacktrace INTERFACE)
target_include_directories(libbacktrace INTERFACE "${LIBBACKTRACE_INCLUDE_DIR}")
target_link_libraries(libbacktrace INTERFACE "${LIBBACKTRACE_LIBRARY}")