Skip to content

Commit bb1a450

Browse files
committed
cmake: Build bitcoin-chainstate executable
1 parent aed38ea commit bb1a450

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,8 @@ option(BUILD_TESTS "Build test_bitcoin executable." ON)
7474
option(BUILD_TX "Build bitcoin-tx executable." ${BUILD_TESTS})
7575
option(BUILD_UTIL "Build bitcoin-util executable." ${BUILD_TESTS})
7676

77-
option(BUILD_KERNEL_LIB "Build experimental bitcoinkernel library." OFF)
77+
option(BUILD_UTIL_CHAINSTATE "Build experimental bitcoin-chainstate executable." OFF)
78+
option(BUILD_KERNEL_LIB "Build experimental bitcoinkernel library." ${BUILD_UTIL_CHAINSTATE})
7879

7980
option(ENABLE_WALLET "Enable wallet." ON)
8081
option(WITH_SQLITE "Enable SQLite wallet support." ${ENABLE_WALLET})
@@ -207,6 +208,7 @@ if(BUILD_FOR_FUZZING)
207208
set(BUILD_CLI OFF)
208209
set(BUILD_TX OFF)
209210
set(BUILD_UTIL OFF)
211+
set(BUILD_UTIL_CHAINSTATE OFF)
210212
set(BUILD_KERNEL_LIB OFF)
211213
set(BUILD_WALLET_TOOL OFF)
212214
set(BUILD_GUI OFF)
@@ -498,6 +500,7 @@ message(" bitcoin-cli ......................... ${BUILD_CLI}")
498500
message(" bitcoin-tx .......................... ${BUILD_TX}")
499501
message(" bitcoin-util ........................ ${BUILD_UTIL}")
500502
message(" bitcoin-wallet ...................... ${BUILD_WALLET_TOOL}")
503+
message(" bitcoin-chainstate (experimental) ... ${BUILD_UTIL_CHAINSTATE}")
501504
message(" libbitcoinkernel (experimental) ..... ${BUILD_KERNEL_LIB}")
502505
message("Optional features:")
503506
message(" wallet support ...................... ${ENABLE_WALLET}")

src/CMakeLists.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,26 @@ if(BUILD_KERNEL_LIB)
353353
add_subdirectory(kernel)
354354
endif()
355355

356+
if(BUILD_UTIL_CHAINSTATE)
357+
add_executable(bitcoin-chainstate
358+
bitcoin-chainstate.cpp
359+
)
360+
# TODO: The `SKIP_BUILD_RPATH` property setting can be deleted
361+
# in the future after reordering Guix script commands to
362+
# perform binary checks after the installation step.
363+
# Relevant discussions:
364+
# - https://github.com/hebasto/bitcoin/pull/236#issuecomment-2183120953
365+
# - https://github.com/bitcoin/bitcoin/pull/30312#issuecomment-2191235833
366+
set_target_properties(bitcoin-chainstate PROPERTIES
367+
SKIP_BUILD_RPATH OFF
368+
)
369+
target_link_libraries(bitcoin-chainstate
370+
PRIVATE
371+
core_interface
372+
bitcoinkernel
373+
)
374+
endif()
375+
356376

357377
add_subdirectory(test/util)
358378
if(BUILD_BENCH)

0 commit comments

Comments
 (0)