diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -390,7 +390,12 @@ prepend(BOOST_LIBRARIES "Boost::" ${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) target_compile_definitions(util PUBLIC BOOST_SP_USE_STD_ATOMIC BOOST_AC_USE_STD_ATOMIC) @@ -536,10 +541,6 @@ 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 Event::event bitcoinconsensus @@ -579,9 +580,6 @@ if(BUILD_BITCOIN_WALLET) add_subdirectory(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 add_executable(bitcoin-wallet bitcoin-wallet.cpp) diff --git a/src/Makefile.am b/src/Makefile.am --- a/src/Makefile.am +++ b/src/Makefile.am @@ -682,6 +682,7 @@ bitcoin_wallet_LDADD = \ $(LIBBITCOIN_WALLET_TOOL) \ $(LIBBITCOIN_WALLET) \ + $(LIBBITCOIN_SERVER) \ $(LIBBITCOIN_COMMON) \ $(LIBBITCOIN_CONSENSUS) \ $(LIBBITCOIN_UTIL) \ diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt --- a/src/wallet/CMakeLists.txt +++ b/src/wallet/CMakeLists.txt @@ -5,10 +5,6 @@ # Add Berkeley DB dependency. find_package(BerkeleyDB 5.3 REQUIRED COMPONENTS CXX) -# Add event dependency. This is only required for evhttp_uridecode -# in rpcwallet.cpp so it may be worth considering using an alternative. -find_package(Event 2.0.22 REQUIRED COMPONENTS event) - # PR15638(https://reviews.bitcoinabc.org/D6000) moved some wallet load # functions to wallet/load.cpp, the others in wallet/init.cpp remain in # the server @@ -30,7 +26,9 @@ walletutil.cpp ) -target_link_libraries(wallet script univalue Event::event BerkeleyDB::CXX) +# There is a circular dependency between wallet and server, see: +# https://github.com/bitcoin/bitcoin/pull/14437#discussion_r226237048 +target_link_libraries(wallet server script univalue BerkeleyDB::CXX) # wallet-tool library add_library(wallet-tool wallettool.cpp)