CMakeLists.txt
1 # Copyright (c) 2023-present The Bitcoin Core developers 2 # Distributed under the MIT software license, see the accompanying 3 # file COPYING or https://opensource.org/license/mit/. 4 5 add_subdirectory(util) 6 7 add_executable(fuzz 8 addition_overflow.cpp 9 addrman.cpp 10 asmap.cpp 11 asmap_direct.cpp 12 autofile.cpp 13 banman.cpp 14 base_encode_decode.cpp 15 bech32.cpp 16 bip324.cpp 17 bitdeque.cpp 18 bitset.cpp 19 block.cpp 20 block_header.cpp 21 block_index.cpp 22 block_index_tree.cpp 23 blockfilter.cpp 24 bloom_filter.cpp 25 buffered_file.cpp 26 chain.cpp 27 checkqueue.cpp 28 cluster_linearize.cpp 29 coins_view.cpp 30 coinscache_sim.cpp 31 connman.cpp 32 crypto.cpp 33 crypto_aes256.cpp 34 crypto_aes256cbc.cpp 35 crypto_chacha20.cpp 36 crypto_chacha20poly1305.cpp 37 crypto_common.cpp 38 crypto_diff_fuzz_chacha20.cpp 39 crypto_hkdf_hmac_sha256_l32.cpp 40 crypto_poly1305.cpp 41 cuckoocache.cpp 42 decode_tx.cpp 43 descriptor_parse.cpp 44 deserialize.cpp 45 difference_formatter.cpp 46 eval_script.cpp 47 feefrac.cpp 48 fee_rate.cpp 49 feeratediagram.cpp 50 fees.cpp 51 flatfile.cpp 52 float.cpp 53 golomb_rice.cpp 54 headerssync.cpp 55 hex.cpp 56 http_request.cpp 57 i2p.cpp 58 integer.cpp 59 key.cpp 60 key_io.cpp 61 kitchen_sink.cpp 62 load_external_block_file.cpp 63 locale.cpp 64 merkle.cpp 65 merkleblock.cpp 66 message.cpp 67 miniscript.cpp 68 minisketch.cpp 69 mini_miner.cpp 70 muhash.cpp 71 multiplication_overflow.cpp 72 net.cpp 73 net_permissions.cpp 74 netaddress.cpp 75 netbase_dns_lookup.cpp 76 node_eviction.cpp 77 overflow.cpp 78 p2p_handshake.cpp 79 p2p_headers_presync.cpp 80 p2p_transport_serialization.cpp 81 pcp.cpp 82 package_eval.cpp 83 parse_hd_keypath.cpp 84 parse_iso8601.cpp 85 parse_numbers.cpp 86 parse_script.cpp 87 parse_univalue.cpp 88 partially_downloaded_block.cpp 89 policy_estimator.cpp 90 policy_estimator_io.cpp 91 poolresource.cpp 92 pow.cpp 93 prevector.cpp 94 primitives_transaction.cpp 95 process_message.cpp 96 process_messages.cpp 97 protocol.cpp 98 psbt.cpp 99 random.cpp 100 rbf.cpp 101 rolling_bloom_filter.cpp 102 rpc.cpp 103 script.cpp 104 script_assets_test_minimizer.cpp 105 script_descriptor_cache.cpp 106 script_flags.cpp 107 script_format.cpp 108 script_interpreter.cpp 109 script_ops.cpp 110 script_parsing.cpp 111 script_sigcache.cpp 112 script_sign.cpp 113 scriptnum_ops.cpp 114 secp256k1_ec_seckey_import_export_der.cpp 115 secp256k1_ecdsa_signature_parse_der_lax.cpp 116 signature_checker.cpp 117 signet.cpp 118 socks5.cpp 119 span.cpp 120 string.cpp 121 strprintf.cpp 122 system.cpp 123 threadpool.cpp 124 timeoffsets.cpp 125 torcontrol.cpp 126 transaction.cpp 127 txdownloadman.cpp 128 tx_in.cpp 129 tx_out.cpp 130 tx_pool.cpp 131 txgraph.cpp 132 txorphan.cpp 133 txrequest.cpp 134 utxo_snapshot.cpp 135 utxo_total_supply.cpp 136 validation_load_mempool.cpp 137 vecdeque.cpp 138 versionbits.cpp 139 ) 140 141 add_windows_application_manifest(fuzz) 142 143 target_link_libraries(fuzz 144 core_interface 145 fuzzer_interface 146 test_fuzz 147 bitcoin_cli 148 bitcoin_common 149 bitcoin_util 150 minisketch 151 leveldb 152 univalue 153 secp256k1 154 Boost::headers 155 libevent::extra 156 ) 157 158 if(ENABLE_WALLET) 159 add_subdirectory(${PROJECT_SOURCE_DIR}/src/wallet/test/fuzz wallet) 160 endif()