file(GLOB_RECURSE RAPIDJSON_SOURCES "${CMAKE_CURRENT_LIST_DIR}/rapidjson/include/*") add_library(rapidjson INTERFACE EXCLUDE_FROM_ALL "${RAPIDJSON_SOURCES}") target_include_directories(rapidjson INTERFACE "${CMAKE_CURRENT_LIST_DIR}/rapidjson/include") set(LIBBACKTRACE_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/libbacktrace") 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 ) add_library(libbacktrace STATIC IMPORTED GLOBAL) set_target_properties(libbacktrace PROPERTIES IMPORTED_LOCATION "${LIBBACKTRACE_LIBRARY}" ) target_include_directories(libbacktrace INTERFACE "${LIBBACKTRACE_INCLUDE_DIR}")