From 1934755ceb78b913706c4895dec8d9765b92b5e9 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Sun, 2 Apr 2023 14:49:44 +0100 Subject: [PATCH] cmake: Build `bitcoin-cli` executable --- CMakeLists.txt | 2 ++ src/CMakeLists.txt | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index ed3178b269773..485c934c3b0a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/module) # When adding a new option, end the with a full stop for consistency. include(CMakeDependentOption) option(BUILD_DAEMON "Build bitcoind executable." ON) +option(BUILD_CLI "Build bitcoin-cli executable." ON) option(ASM "Use assembly routines." ON) cmake_dependent_option(CXX20 "Enable compilation in C++20 mode." OFF "NOT MSVC" ON) option(THREADLOCAL "Enable features that depend on the C++ thread_local keyword (currently just thread names in debug logs)." ON) @@ -148,6 +149,7 @@ message("Configure summary") message("=================") message("Executables:") message(" bitcoind ............................ ${BUILD_DAEMON}") +message(" bitcoin-cli ......................... ${BUILD_CLI}") message("Optional packages:") message(" NAT-PMP ............................. ${WITH_NATPMP}") message(" UPnP ................................ ${WITH_MINIUPNPC}") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c821ec44d263a..a09ac42de75e8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -212,3 +212,25 @@ if(BUILD_DAEMON) $<$:-static> ) endif() + + +add_library(bitcoin_cli STATIC EXCLUDE_FROM_ALL + compat/stdin.cpp + rpc/client.cpp +) +target_link_libraries(bitcoin_cli + PUBLIC + univalue +) + + +# Bitcoin Core RPC client +if(BUILD_CLI) + add_executable(bitcoin-cli bitcoin-cli.cpp) + target_link_libraries(bitcoin-cli + bitcoin_cli + bitcoin_common + bitcoin_util + libevent::libevent + ) +endif()