psemek/3rdparty/CMakeLists.txt

24 lines
1.1 KiB
CMake

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}")