diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index a1ab3fc7..eacf6e75 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -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}")