aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2024-08-10 11:06:36 +0100
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2024-08-16 19:27:39 +0100
commit959370bd76d30ced34208db45fb4fd097fbad31b (patch)
tree449f941724488028bf6d7ce93742febaa6eeef54 /src/test
parentb27bf9700dbbfa9a0243815f78c8b62abe78d8bc (diff)
cmake: Build `test_bitcoin` executable
Diffstat (limited to 'src/test')
-rw-r--r--src/test/CMakeLists.txt155
-rw-r--r--src/test/util/CMakeLists.txt28
2 files changed, 183 insertions, 0 deletions
diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
new file mode 100644
index 0000000000..167d8babf2
--- /dev/null
+++ b/src/test/CMakeLists.txt
@@ -0,0 +1,155 @@
+# 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_json(data/base58_encode_decode.json)
+generate_header_from_json(data/bip341_wallet_vectors.json)
+generate_header_from_json(data/blockfilters.json)
+generate_header_from_json(data/key_io_invalid.json)
+generate_header_from_json(data/key_io_valid.json)
+generate_header_from_json(data/script_tests.json)
+generate_header_from_json(data/sighash.json)
+generate_header_from_json(data/tx_invalid.json)
+generate_header_from_json(data/tx_valid.json)
+generate_header_from_raw(data/asmap.raw)
+
+# Do not use generator expressions in test sources because the
+# SOURCES property is processed to gather test suite macros.
+add_executable(test_bitcoin
+ main.cpp
+ $<TARGET_OBJECTS:bitcoin_consensus>
+ ${CMAKE_CURRENT_BINARY_DIR}/data/asmap.raw.h
+ ${CMAKE_CURRENT_BINARY_DIR}/data/base58_encode_decode.json.h
+ ${CMAKE_CURRENT_BINARY_DIR}/data/bip341_wallet_vectors.json.h
+ ${CMAKE_CURRENT_BINARY_DIR}/data/blockfilters.json.h
+ ${CMAKE_CURRENT_BINARY_DIR}/data/key_io_invalid.json.h
+ ${CMAKE_CURRENT_BINARY_DIR}/data/key_io_valid.json.h
+ ${CMAKE_CURRENT_BINARY_DIR}/data/script_tests.json.h
+ ${CMAKE_CURRENT_BINARY_DIR}/data/sighash.json.h
+ ${CMAKE_CURRENT_BINARY_DIR}/data/tx_invalid.json.h
+ ${CMAKE_CURRENT_BINARY_DIR}/data/tx_valid.json.h
+ addrman_tests.cpp
+ allocator_tests.cpp
+ amount_tests.cpp
+ argsman_tests.cpp
+ arith_uint256_tests.cpp
+ banman_tests.cpp
+ base32_tests.cpp
+ base58_tests.cpp
+ base64_tests.cpp
+ bech32_tests.cpp
+ bip32_tests.cpp
+ bip324_tests.cpp
+ blockchain_tests.cpp
+ blockencodings_tests.cpp
+ blockfilter_index_tests.cpp
+ blockfilter_tests.cpp
+ blockmanager_tests.cpp
+ bloom_tests.cpp
+ bswap_tests.cpp
+ checkqueue_tests.cpp
+ cluster_linearize_tests.cpp
+ coins_tests.cpp
+ coinscachepair_tests.cpp
+ coinstatsindex_tests.cpp
+ common_url_tests.cpp
+ compilerbug_tests.cpp
+ compress_tests.cpp
+ crypto_tests.cpp
+ cuckoocache_tests.cpp
+ dbwrapper_tests.cpp
+ denialofservice_tests.cpp
+ descriptor_tests.cpp
+ disconnected_transactions.cpp
+ feefrac_tests.cpp
+ flatfile_tests.cpp
+ fs_tests.cpp
+ getarg_tests.cpp
+ hash_tests.cpp
+ headers_sync_chainwork_tests.cpp
+ httpserver_tests.cpp
+ i2p_tests.cpp
+ interfaces_tests.cpp
+ key_io_tests.cpp
+ key_tests.cpp
+ logging_tests.cpp
+ mempool_tests.cpp
+ merkle_tests.cpp
+ merkleblock_tests.cpp
+ miner_tests.cpp
+ miniminer_tests.cpp
+ miniscript_tests.cpp
+ minisketch_tests.cpp
+ multisig_tests.cpp
+ net_peer_connection_tests.cpp
+ net_peer_eviction_tests.cpp
+ net_tests.cpp
+ netbase_tests.cpp
+ node_warnings_tests.cpp
+ orphanage_tests.cpp
+ peerman_tests.cpp
+ pmt_tests.cpp
+ policy_fee_tests.cpp
+ policyestimator_tests.cpp
+ pool_tests.cpp
+ pow_tests.cpp
+ prevector_tests.cpp
+ raii_event_tests.cpp
+ random_tests.cpp
+ rbf_tests.cpp
+ rest_tests.cpp
+ result_tests.cpp
+ reverselock_tests.cpp
+ rpc_tests.cpp
+ sanity_tests.cpp
+ scheduler_tests.cpp
+ script_p2sh_tests.cpp
+ script_parse_tests.cpp
+ script_segwit_tests.cpp
+ script_standard_tests.cpp
+ script_tests.cpp
+ scriptnum_tests.cpp
+ serfloat_tests.cpp
+ serialize_tests.cpp
+ settings_tests.cpp
+ sighash_tests.cpp
+ sigopcount_tests.cpp
+ skiplist_tests.cpp
+ sock_tests.cpp
+ span_tests.cpp
+ streams_tests.cpp
+ sync_tests.cpp
+ system_tests.cpp
+ timeoffsets_tests.cpp
+ torcontrol_tests.cpp
+ transaction_tests.cpp
+ translation_tests.cpp
+ txindex_tests.cpp
+ txpackage_tests.cpp
+ txreconciliation_tests.cpp
+ txrequest_tests.cpp
+ txvalidation_tests.cpp
+ txvalidationcache_tests.cpp
+ uint256_tests.cpp
+ util_tests.cpp
+ util_threadnames_tests.cpp
+ validation_block_tests.cpp
+ validation_chainstate_tests.cpp
+ validation_chainstatemanager_tests.cpp
+ validation_flush_tests.cpp
+ validation_tests.cpp
+ validationinterface_tests.cpp
+ versionbits_tests.cpp
+)
+
+target_link_libraries(test_bitcoin
+ core_interface
+ test_util
+ bitcoin_cli
+ bitcoin_node
+ minisketch
+ secp256k1
+ Boost::headers
+ $<TARGET_NAME_IF_EXISTS:libevent::libevent>
+)
diff --git a/src/test/util/CMakeLists.txt b/src/test/util/CMakeLists.txt
new file mode 100644
index 0000000000..eb79ea11a7
--- /dev/null
+++ b/src/test/util/CMakeLists.txt
@@ -0,0 +1,28 @@
+# 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/.
+
+add_library(test_util STATIC EXCLUDE_FROM_ALL
+ blockfilter.cpp
+ coins.cpp
+ index.cpp
+ json.cpp
+ logging.cpp
+ mining.cpp
+ net.cpp
+ random.cpp
+ script.cpp
+ setup_common.cpp
+ str.cpp
+ transaction_utils.cpp
+ txmempool.cpp
+ validation.cpp
+)
+
+target_link_libraries(test_util
+ PRIVATE
+ core_interface
+ Boost::headers
+ PUBLIC
+ univalue
+)