cmake: Build bench_bitcoin executable

This commit is contained in:
Hennadii Stepanov
2024-07-31 10:42:19 +01:00
parent 801735163a
commit 8bb0e85631
3 changed files with 89 additions and 1 deletions

View File

@@ -339,6 +339,10 @@ endif()
add_subdirectory(test/util)
if(BUILD_BENCH)
add_subdirectory(bench)
endif()
if(BUILD_TESTS)
add_subdirectory(test)
endif()

81
src/bench/CMakeLists.txt Normal file
View File

@@ -0,0 +1,81 @@
# Copyright (c) 2023-present The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or https://opensource.org/license/mit/.
include(GenerateHeaders)
generate_header_from_raw(data/block413567.raw)
add_executable(bench_bitcoin
bench_bitcoin.cpp
bench.cpp
data.cpp
nanobench.cpp
${CMAKE_CURRENT_BINARY_DIR}/data/block413567.raw.h
# Benchmarks:
addrman.cpp
base58.cpp
bech32.cpp
bip324_ecdh.cpp
block_assemble.cpp
ccoins_caching.cpp
chacha20.cpp
checkblock.cpp
checkblockindex.cpp
checkqueue.cpp
cluster_linearize.cpp
crypto_hash.cpp
descriptors.cpp
disconnected_transactions.cpp
duplicate_inputs.cpp
ellswift.cpp
examples.cpp
gcs_filter.cpp
hashpadding.cpp
index_blockfilter.cpp
load_external.cpp
lockedpool.cpp
logging.cpp
mempool_eviction.cpp
mempool_stress.cpp
merkle_root.cpp
parse_hex.cpp
peer_eviction.cpp
poly1305.cpp
pool.cpp
prevector.cpp
random.cpp
readblock.cpp
rollingbloom.cpp
rpc_blockchain.cpp
rpc_mempool.cpp
sign_transaction.cpp
streams_findbyte.cpp
strencodings.cpp
util_time.cpp
verify_script.cpp
xor.cpp
)
target_link_libraries(bench_bitcoin
core_interface
test_util
bitcoin_node
Boost::headers
)
if(ENABLE_WALLET)
target_sources(bench_bitcoin
PRIVATE
coin_selection.cpp
wallet_balance.cpp
wallet_create.cpp
wallet_create_tx.cpp
wallet_loading.cpp
wallet_ismine.cpp
)
target_link_libraries(bench_bitcoin bitcoin_wallet)
endif()
add_test(NAME bench_sanity_check_high_priority
COMMAND bench_bitcoin -sanity-check -priority-level=high
)