Changeset View
Changeset View
Standalone View
Standalone View
src/CMakeLists.txt
Show First 20 Lines • Show All 384 Lines • ▼ Show 20 Lines | foreach(f ${ARGN}) | ||||
list(APPEND listVar "${prefix}${f}") | list(APPEND listVar "${prefix}${f}") | ||||
endforeach(f) | endforeach(f) | ||||
set(${var} "${listVar}" PARENT_SCOPE) | set(${var} "${listVar}" PARENT_SCOPE) | ||||
endfunction(prepend) | endfunction(prepend) | ||||
prepend(BOOST_LIBRARIES "Boost::" ${BOOST_PACKAGES_REQUIRED}) | prepend(BOOST_LIBRARIES "Boost::" ${BOOST_PACKAGES_REQUIRED}) | ||||
find_package(Boost 1.58 REQUIRED ${BOOST_PACKAGES_REQUIRED}) | find_package(Boost 1.58 REQUIRED ${BOOST_PACKAGES_REQUIRED}) | ||||
target_link_libraries(util univalue crypto ${BOOST_LIBRARIES}) | |||||
# This require libevent | |||||
set(EVENT_MIN_VERSION 2.0.22) | |||||
find_package(Event ${EVENT_MIN_VERSION} REQUIRED COMPONENTS event) | |||||
target_link_libraries(util univalue crypto Event::event ${BOOST_LIBRARIES}) | |||||
# Make sure boost uses std::atomic (it doesn't before 1.63) | # Make sure boost uses std::atomic (it doesn't before 1.63) | ||||
target_compile_definitions(util PUBLIC BOOST_SP_USE_STD_ATOMIC BOOST_AC_USE_STD_ATOMIC) | target_compile_definitions(util PUBLIC BOOST_SP_USE_STD_ATOMIC BOOST_AC_USE_STD_ATOMIC) | ||||
# More completely unrelated features shared by all executables. | # More completely unrelated features shared by all executables. | ||||
# Because nothing says this is different from util than "common" | # Because nothing says this is different from util than "common" | ||||
add_library(common | add_library(common | ||||
amount.cpp | amount.cpp | ||||
▲ Show 20 Lines • Show All 129 Lines • ▼ Show 20 Lines | add_library(server | ||||
ui_interface.cpp | ui_interface.cpp | ||||
validation.cpp | validation.cpp | ||||
validationinterface.cpp | validationinterface.cpp | ||||
versionbits.cpp | versionbits.cpp | ||||
) | ) | ||||
target_include_directories(server PRIVATE leveldb/helpers/memenv) | target_include_directories(server PRIVATE leveldb/helpers/memenv) | ||||
# This require libevent | |||||
set(EVENT_MIN_VERSION 2.0.22) | |||||
find_package(Event ${EVENT_MIN_VERSION} REQUIRED COMPONENTS event) | |||||
target_link_libraries(server | target_link_libraries(server | ||||
Event::event | Event::event | ||||
bitcoinconsensus | bitcoinconsensus | ||||
leveldb | leveldb | ||||
memenv | memenv | ||||
) | ) | ||||
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows") | if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows") | ||||
Show All 23 Lines | |||||
add_subdirectory(bench) | add_subdirectory(bench) | ||||
include(BinaryTest) | include(BinaryTest) | ||||
# Wallet | # Wallet | ||||
if(BUILD_BITCOIN_WALLET) | if(BUILD_BITCOIN_WALLET) | ||||
add_subdirectory(wallet) | add_subdirectory(wallet) | ||||
target_link_libraries(server wallet) | target_link_libraries(server wallet) | ||||
# There is a circular dependency between wallet and server, see: | |||||
# https://github.com/bitcoin/bitcoin/pull/14437#discussion_r226237048 | |||||
target_link_libraries(wallet server) | |||||
# bitcoin-wallet | # bitcoin-wallet | ||||
add_executable(bitcoin-wallet bitcoin-wallet.cpp) | add_executable(bitcoin-wallet bitcoin-wallet.cpp) | ||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") | if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") | ||||
target_sources(bitcoin-wallet PRIVATE bitcoin-wallet-res.rc) | target_sources(bitcoin-wallet PRIVATE bitcoin-wallet-res.rc) | ||||
endif() | endif() | ||||
target_link_libraries(bitcoin-wallet wallet-tool common util) | target_link_libraries(bitcoin-wallet wallet-tool common util) | ||||
▲ Show 20 Lines • Show All 69 Lines • Show Last 20 Lines |