peerplays_migrated/libraries/plugins/libbitcoin/CMakeLists.txt

29 lines
1.2 KiB
CMake

include(ExternalProject)
set(LIBBITCOIN_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libbitcoin-system)
set(LIBBITCOIN_BIN ${CMAKE_CURRENT_BINARY_DIR}/libbitcoin)
set(LIBBITCOIN_STATIC_LIB ${LIBBITCOIN_BIN}/lib/libbitcoin-system.a)
set(LIBBITCOIN_INCLUDES ${LIBBITCOIN_DIR}/include)
file(MAKE_DIRECTORY ${LIBBITCOIN_INCLUDES})
ExternalProject_Add(
bitcoinsystem
PREFIX ${LIBBITCOIN_BIN}
SOURCE_DIR ${LIBBITCOIN_DIR}
DOWNLOAD_COMMAND cd ${LIBBITCOIN_DIR} && ${LIBBITCOIN_DIR}/autogen.sh
CONFIGURE_COMMAND ${LIBBITCOIN_DIR}/configure --srcdir=${LIBBITCOIN_DIR} --prefix=${LIBBITCOIN_BIN} --enable-static=yes --disable-shared --with-examples=no
BUILD_COMMAND make -j4
INSTALL_COMMAND make install
BUILD_BYPRODUCTS ${LIBBITCOIN_STATIC_LIB}
)
add_library(libbitcoin STATIC IMPORTED GLOBAL)
set_target_properties(bitcoinsystem PROPERTIES IMPORTED_LOCATION ${LIBBITCOIN_STATIC_LIB})
set_target_properties(bitcoinsystem PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${LIBBITCOIN_INCLUDES})
add_dependencies(libbitcoin bitcoinsystem)
set_target_properties(libbitcoin PROPERTIES IMPORTED_LOCATION ${LIBBITCOIN_STATIC_LIB})
set_target_properties(libbitcoin PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${LIBBITCOIN_INCLUDES})