CMakeLists.txt raw

   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    cmpctblock.cpp
  30    coins_view.cpp
  31    coinscache_sim.cpp
  32    connman.cpp
  33    crypto.cpp
  34    crypto_aes256.cpp
  35    crypto_aes256cbc.cpp
  36    crypto_chacha20.cpp
  37    crypto_chacha20poly1305.cpp
  38    crypto_common.cpp
  39    crypto_diff_fuzz_chacha20.cpp
  40    crypto_hkdf_hmac_sha256_l32.cpp
  41    crypto_poly1305.cpp
  42    cuckoocache.cpp
  43    dbwrapper.cpp
  44    decode_tx.cpp
  45    descriptor_parse.cpp
  46    deserialize.cpp
  47    difference_formatter.cpp
  48    eval_script.cpp
  49    feefrac.cpp
  50    fee_rate.cpp
  51    feeratediagram.cpp
  52    fees.cpp
  53    flatfile.cpp
  54    float.cpp
  55    golomb_rice.cpp
  56    headerssync.cpp
  57    hex.cpp
  58    http_request.cpp
  59    i2p.cpp
  60    integer.cpp
  61    key.cpp
  62    key_io.cpp
  63    kitchen_sink.cpp
  64    load_external_block_file.cpp
  65    locale.cpp
  66    merkle.cpp
  67    merkleblock.cpp
  68    message.cpp
  69    miniscript.cpp
  70    minisketch.cpp
  71    mini_miner.cpp
  72    muhash.cpp
  73    multiplication_overflow.cpp
  74    net.cpp
  75    net_permissions.cpp
  76    netaddress.cpp
  77    netbase_dns_lookup.cpp
  78    node_eviction.cpp
  79    overflow.cpp
  80    p2p_handshake.cpp
  81    p2p_headers_presync.cpp
  82    p2p_transport_serialization.cpp
  83    pcp.cpp
  84    package_eval.cpp
  85    parse_hd_keypath.cpp
  86    parse_iso8601.cpp
  87    parse_numbers.cpp
  88    parse_script.cpp
  89    parse_univalue.cpp
  90    partially_downloaded_block.cpp
  91    policy_estimator.cpp
  92    policy_estimator_io.cpp
  93    poolresource.cpp
  94    pow.cpp
  95    prevector.cpp
  96    primitives_transaction.cpp
  97    private_broadcast.cpp
  98    process_message.cpp
  99    process_messages.cpp
 100    protocol.cpp
 101    psbt.cpp
 102    random.cpp
 103    rbf.cpp
 104    rolling_bloom_filter.cpp
 105    rpc.cpp
 106    script.cpp
 107    script_assets_test_minimizer.cpp
 108    script_descriptor_cache.cpp
 109    script_flags.cpp
 110    script_format.cpp
 111    script_interpreter.cpp
 112    script_ops.cpp
 113    script_parsing.cpp
 114    script_sigcache.cpp
 115    script_sign.cpp
 116    scriptnum_ops.cpp
 117    secp256k1_ec_seckey_import_export_der.cpp
 118    secp256k1_ecdsa_signature_parse_der_lax.cpp
 119    signature_checker.cpp
 120    signet.cpp
 121    socks5.cpp
 122    span.cpp
 123    string.cpp
 124    strprintf.cpp
 125    system.cpp
 126    threadpool.cpp
 127    timeoffsets.cpp
 128    torcontrol.cpp
 129    transaction.cpp
 130    txdownloadman.cpp
 131    tx_in.cpp
 132    tx_out.cpp
 133    tx_pool.cpp
 134    txgraph.cpp
 135    txorphan.cpp
 136    txrequest.cpp
 137    utxo_snapshot.cpp
 138    utxo_total_supply.cpp
 139    validation_load_mempool.cpp
 140    vecdeque.cpp
 141    versionbits.cpp
 142  )
 143  
 144  if(ENABLE_IPC)
 145    add_subdirectory(${PROJECT_SOURCE_DIR}/src/ipc/test/fuzz ipc)
 146  endif()
 147  
 148  add_windows_application_manifest(fuzz)
 149  
 150  target_link_libraries(fuzz
 151    core_interface
 152    fuzzer_interface
 153    test_fuzz
 154    bitcoin_cli
 155    bitcoin_common
 156    bitcoin_util
 157    minisketch
 158    leveldb
 159    univalue
 160    secp256k1
 161    Boost::headers
 162  )
 163  
 164  if(ENABLE_WALLET)
 165    add_subdirectory(${PROJECT_SOURCE_DIR}/src/wallet/test/fuzz wallet)
 166  endif()
 167