/ src / test / fuzz / CMakeLists.txt
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()