cmake: Remove optional definitions from `bitcoin-build-config.h` #35072

pull hebasto wants to merge 5 commits into bitcoin:master from hebasto:260414-sans-gui-config changing 25 files +12 −61
  1. hebasto commented at 5:33 PM on April 14, 2026: member

    On the master branch, modifying optional settings to reconfigure the build system triggers unnecessary rebuilds.

    For example, consider the following workflow:

    cmake -B build -DBUILD_TESTS=OFF
    cmake --build build
    cmake -B build -DBUILD_TESTS=OFF -DBUILD_GUI=ON
    cmake --build build
    

    The final command should only build bitcoin-qt and bitcoin-gui, but instead, it unnecessarily rebuilds other targets as well.

    This occurs because optional definitions like USE_DBUS and USE_QRCODE are included in bitcoin-build-config.h. Modifying these settings alters the header, triggering a recompilation of every target that consumes it.

    This PR resolves the issue. While beneficial on its own, it also serves as a necessary prerequisite for effectively addressing #29914.

  2. hebasto added the label Build system on Apr 14, 2026
  3. DrahtBot commented at 5:33 PM on April 14, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Stale ACK BrandonOdiwuor

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #35098 (guix: Compile GUI separately from other binaries by hebasto)
    • #33828 (Check required interfaces before generating manpages by 151henry151)
    • #31260 (scripted-diff: Type-safe settings retrieval by ryanofsky)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. BrandonOdiwuor commented at 9:31 AM on April 17, 2026: contributor

    Tested ACK 9f65a7a4942c1addf3efed47a64a54b0889215bf

    Tested that only Qt-related targets are rebuilt when BUILD_GUI=ON is enabled. Non-GUI targets (bitcoind, bitcoin-node, bitcoin, bitcoin_clientversion, bitcoin_util, etc.) remain untouched.

    Tested on Ubuntu 24.04.4 LTS

    cmake -B build -DBUILD_TESTS=OFF
    cmake --build build
    cmake -B build -DBUILD_TESTS=OFF -DBUILD_GUI=ON
    cmake --build build
    

    Master (before PR)

    <details> <summary>Running `cmake --build build` after GUI is enabled</summary

    cmake --build build_m/ -j3
    [  0%] Generating bitcoin-build-info.h
    [  1%] Built target univalue
    [  2%] Built target bitcoin_consensus
    [  2%] Built target secp256k1_precomputed
    [  3%] Built target crc32c
    [  8%] Built target bitcoin_crypto
    [ 11%] Built target minisketch
    [ 11%] Built target mputil
    [ 18%] Built target leveldb
    [ 19%] Built target bitcoin_cli
    [ 38%] Built target bitcoinqt_lrelease
    [ 39%] Built target secp256k1
    [ 39%] Built target multiprocess
    [ 39%] Built target mpgen
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/mining.cpp.o
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/interfaces.cpp.o
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/common.capnp.proxy-client.c++.o
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/common.capnp.proxy-server.c++.o
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/common.capnp.proxy-types.c++.o
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/init.capnp.proxy-client.c++.o
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/init.capnp.proxy-server.c++.o
    [ 39%] Built target generate_build_info
    [ 39%] Building CXX object src/CMakeFiles/bitcoin_clientversion.dir/clientversion.cpp.o
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/init.capnp.proxy-types.c++.o
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/mining.capnp.proxy-client.c++.o
    [ 39%] Linking CXX static library ../lib/libbitcoin_clientversion.a
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/mining.capnp.proxy-server.c++.o
    [ 39%] Built target bitcoin_clientversion
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/mining.capnp.proxy-types.c++.o
    [ 39%] Building CXX object src/util/CMakeFiles/bitcoin_util.dir/check.cpp.o
    [ 39%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/rpc.capnp.proxy-client.c++.o
    [ 40%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/rpc.capnp.proxy-server.c++.o
    [ 40%] Building CXX object src/util/CMakeFiles/bitcoin_util.dir/fs_helpers.cpp.o
    [ 40%] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/rpc.capnp.proxy-types.c++.o
    [ 41%] Building CXX object src/util/CMakeFiles/bitcoin_util.dir/syserror.cpp.o
    [ 41%] Linking CXX static library ../../lib/libbitcoin_ipc.a
    [ 41%] Building CXX object src/CMakeFiles/bitcoin_common.dir/coins.cpp.o
    [ 41%] Building CXX object src/util/CMakeFiles/bitcoin_util.dir/tokenpipe.cpp.o
    [ 41%] Building CXX object src/util/CMakeFiles/bitcoin_util.dir/__/random.cpp.o
    [ 41%] Building CXX object src/CMakeFiles/bitcoin_common.dir/common/license_info.cpp.o
    [ 43%] Building CXX object src/CMakeFiles/bitcoin_common.dir/common/netif.cpp.o
    [ 43%] Building CXX object src/util/CMakeFiles/bitcoin_util.dir/__/randomenv.cpp.o
    [ 43%] Building CXX object src/CMakeFiles/bitcoin_common.dir/common/run_command.cpp.o
    [ 43%] Linking CXX static library ../../lib/libbitcoin_util.a
    [ 43%] Building CXX object src/CMakeFiles/bitcoin_common.dir/common/settings.cpp.o
    [ 47%] Built target bitcoin_util
    [ 47%] Building CXX object src/CMakeFiles/bitcoin_common.dir/common/system.cpp.o
    [ 47%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/coinselection.cpp.o
    [ 47%] Building CXX object src/CMakeFiles/bitcoin_common.dir/external_signer.cpp.o
    [ 47%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/crypter.cpp.o
    [ 52%] Built target bitcoin_ipc
    [ 52%] Building CXX object src/CMakeFiles/bitcoin_node.dir/addrdb.cpp.o
    [ 52%] Building CXX object src/CMakeFiles/bitcoin_common.dir/init/common.cpp.o
    [ 52%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/db.cpp.o
    [ 52%] Building CXX object src/CMakeFiles/bitcoin_node.dir/addrman.cpp.o
    [ 52%] Building CXX object src/CMakeFiles/bitcoin_common.dir/net_permissions.cpp.o
    [ 52%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/dump.cpp.o
    [ 52%] Building CXX object src/CMakeFiles/bitcoin_node.dir/banman.cpp.o
    [ 52%] Building CXX object src/CMakeFiles/bitcoin_common.dir/netbase.cpp.o
    [ 53%] Building CXX object src/CMakeFiles/bitcoin_node.dir/blockencodings.cpp.o
    [ 54%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/external_signer_scriptpubkeyman.cpp.o
    [ 55%] Building CXX object src/CMakeFiles/bitcoin_common.dir/protocol.cpp.o
    [ 55%] Building CXX object src/CMakeFiles/bitcoin_node.dir/init.cpp.o
    [ 55%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/feebumper.cpp.o
    [ 56%] Linking CXX static library ../lib/libbitcoin_common.a
    [ 56%] Building CXX object src/CMakeFiles/bitcoin_node.dir/mapport.cpp.o
    [ 56%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/fees.cpp.o
    [ 56%] Building CXX object src/CMakeFiles/bitcoin_node.dir/net.cpp.o
    [ 56%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/interfaces.cpp.o
    [ 58%] Building CXX object src/CMakeFiles/bitcoin_node.dir/net_processing.cpp.o
    [ 58%] Building CXX object src/CMakeFiles/bitcoin_node.dir/node/caches.cpp.o
    [ 58%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/load.cpp.o
    [ 58%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/migrate.cpp.o
    [ 58%] Building CXX object src/CMakeFiles/bitcoin_node.dir/node/chainstatemanager_args.cpp.o
    [ 58%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/receive.cpp.o
    [ 58%] Building CXX object src/CMakeFiles/bitcoin_node.dir/node/interfaces.cpp.o
    [ 65%] Built target bitcoin_common
    [ 65%] Building CXX object src/CMakeFiles/bitcoin_node.dir/node/kernel_notifications.cpp.o
    [ 66%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/rpc/addresses.cpp.o
    [ 67%] Building CXX object src/CMakeFiles/bitcoin_node.dir/node/mempool_persist.cpp.o
    [ 67%] Building CXX object src/CMakeFiles/bitcoin_node.dir/node/txreconciliation.cpp.o
    [ 67%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/rpc/backup.cpp.o
    [ 68%] Building CXX object src/CMakeFiles/bitcoin_node.dir/node/warnings.cpp.o
    [ 68%] Building CXX object src/CMakeFiles/bitcoin_node.dir/policy/fees/block_policy_estimator.cpp.o
    [ 68%] Building CXX object src/CMakeFiles/bitcoin_node.dir/rpc/blockchain.cpp.o
    [ 68%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/rpc/coins.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/bitcoin_node.dir/rpc/external_signer.cpp.o
    [ 69%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/rpc/encrypt.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/bitcoin_node.dir/rpc/mining.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/bitcoin_node.dir/rpc/net.cpp.o
    [ 69%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/rpc/signmessage.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/bitcoin_node.dir/rpc/node.cpp.o
    [ 69%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/rpc/spend.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/bitcoin_node.dir/rpc/server.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/bitcoin_node.dir/txmempool.cpp.o
    [ 70%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/rpc/transactions.cpp.o
    [ 72%] Building CXX object src/CMakeFiles/bitcoin_node.dir/validation.cpp.o
    [ 72%] Building CXX object src/CMakeFiles/bitcoin_node.dir/wallet/init.cpp.o
    [ 72%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/rpc/util.cpp.o
    [ 72%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/rpc/wallet.cpp.o
    [ 72%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/scriptpubkeyman.cpp.o
    [ 72%] Linking CXX static library ../lib/libbitcoin_node.a
    [ 72%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/spend.cpp.o
    [ 72%] Building CXX object src/CMakeFiles/bitcoin.dir/bitcoin.cpp.o
    [ 72%] Linking CXX executable ../bin/bitcoin
    [ 72%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/sqlite.cpp.o
    [ 72%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/wallet.cpp.o
    [ 72%] Building CXX object src/wallet/CMakeFiles/bitcoin_wallet.dir/walletdb.cpp.o
    [ 72%] Built target bitcoin
    [ 72%] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.o
    [ 72%] Linking CXX static library ../../lib/libbitcoin_wallet.a
    [ 72%] Linking CXX executable ../bin/bitcoin-cli
    [ 72%] Built target bitcoin-cli
    [ 74%] Built target bitcoin_wallet
    [ 74%] Built target bitcoinqt_autogen_timestamp_deps
    [ 84%] Built target bitcoin_node
    [ 84%] Building CXX object src/CMakeFiles/bitcoind.dir/bitcoind.cpp.o
    [ 84%] Building CXX object src/CMakeFiles/bitcoin-node.dir/bitcoind.cpp.o
    [ 84%] Automatic MOC and UIC for target bitcoinqt
    [ 86%] Linking CXX executable ../bin/bitcoind
    [ 86%] Linking CXX executable ../bin/bitcoin-node
    [ 86%] Built target bitcoinqt_autogen
    [ 86%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bitcoinqt_autogen/mocs_compilation.cpp.o
    [ 87%] Built target bitcoind
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bitcoin.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bitcoingui.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/clientmodel.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/intro.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/modaloverlay.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/notificator.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/optionsdialog.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/optionsmodel.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/rpcconsole.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/splashscreen.cpp.o
    [ 89%] Built target bitcoin-node
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/utilitydialog.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/addresstablemodel.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/coincontroldialog.cpp.o
    [ 90%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/createwalletdialog.cpp.o
    [ 90%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/paymentserver.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/qrimagewidget.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/receivecoinsdialog.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/receiverequestdialog.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/recentrequeststablemodel.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/sendcoinsdialog.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/signverifymessagedialog.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/transactiondesc.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/walletcontroller.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/walletmodel.cpp.o
    [ 93%] Linking CXX static library ../../lib/libbitcoinqt.a
    [ 98%] Built target bitcoinqt
    [ 98%] Built target bitcoin-qt_autogen_timestamp_deps
    [ 98%] Built target bitcoin-gui_autogen_timestamp_deps
    [ 98%] Built target bitcoin-qt_autogen
    [ 98%] Built target bitcoin-gui_autogen
    [ 98%] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
    [100%] Building CXX object src/qt/CMakeFiles/bitcoin-gui.dir/main.cpp.o
    [100%] Linking CXX executable ../../bin/bitcoin-qt
    [100%] Linking CXX executable ../../bin/bitcoin-gui
    [100%] Built target bitcoin-qt
    [100%] Built target bitcoin-gui
    
    

    </details>

    PR at 9f65a7a4942c1addf3efed47a64a54b0889215bf

    <details> <summary>Running `cmake --build build` after GUI is enabled</summary

    cmake --build build -j3
    [  0%] Generating bitcoin-build-info.h
    [  1%] Built target univalue
    [  1%] Built target secp256k1_precomputed
    [  2%] Built target bitcoin_consensus
    [  3%] Built target crc32c
    [  8%] Built target bitcoin_crypto
    [ 11%] Built target minisketch
    [ 11%] Built target mputil
    [ 12%] Built target bitcoin_cli
    [ 31%] Built target bitcoinqt_lrelease
    [ 38%] Built target leveldb
    [ 39%] Built target secp256k1
    [ 39%] Built target multiprocess
    [ 39%] Built target mpgen
    [ 45%] Built target bitcoin_ipc
    [ 45%] Built target generate_build_info
    [ 45%] Built target bitcoin_clientversion
    [ 51%] Built target bitcoin_util
    [ 56%] Built target bitcoin_wallet
    [ 56%] Built target bitcoinqt_autogen_timestamp_deps
    [ 67%] Built target bitcoin_common
    [ 67%] Built target bitcoin
    [ 67%] Automatic MOC and UIC for target bitcoinqt
    [ 67%] Built target bitcoin-cli
    [ 84%] Built target bitcoin_node
    [ 86%] Built target bitcoin-node
    [ 87%] Built target bitcoind
    [ 87%] Built target bitcoinqt_autogen
    [ 87%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bantablemodel.cpp.o
    [ 87%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bitcoinqt_autogen/mocs_compilation.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bitcoin.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bitcoinaddressvalidator.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bitcoinamountfield.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bitcoingui.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/bitcoinunits.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/clientmodel.cpp.o
    [ 88%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/csvmodelwriter.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/freespacechecker.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/guiutil.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/initexecutor.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/intro.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/modaloverlay.cpp.o
    [ 89%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/networkstyle.cpp.o
    [ 90%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/notificator.cpp.o
    [ 90%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/optionsdialog.cpp.o
    [ 90%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/optionsmodel.cpp.o
    [ 90%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/peertablemodel.cpp.o
    [ 90%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/peertablesortproxy.cpp.o
    [ 90%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/platformstyle.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/qvalidatedlineedit.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/qvaluecombobox.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/rpcconsole.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/splashscreen.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/trafficgraphwidget.cpp.o
    [ 91%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/utilitydialog.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/qrc_bitcoin.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/qrc_bitcoin_locale.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/addressbookpage.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/addresstablemodel.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/askpassphrasedialog.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/coincontroldialog.cpp.o
    [ 93%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/coincontroltreewidget.cpp.o
    [ 94%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/createwalletdialog.cpp.o
    [ 94%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/editaddressdialog.cpp.o
    [ 94%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/openuridialog.cpp.o
    [ 94%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/overviewpage.cpp.o
    [ 94%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/paymentserver.cpp.o
    [ 94%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/psbtoperationsdialog.cpp.o
    [ 95%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/qrimagewidget.cpp.o
    [ 95%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/receivecoinsdialog.cpp.o
    [ 95%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/receiverequestdialog.cpp.o
    [ 95%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/recentrequeststablemodel.cpp.o
    [ 95%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/sendcoinsdialog.cpp.o
    [ 95%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/sendcoinsentry.cpp.o
    [ 96%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/signverifymessagedialog.cpp.o
    [ 96%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/transactiondesc.cpp.o
    [ 96%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/transactiondescdialog.cpp.o
    [ 96%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/transactionfilterproxy.cpp.o
    [ 96%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/transactionoverviewwidget.cpp.o
    [ 96%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/transactionrecord.cpp.o
    [ 97%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/transactiontablemodel.cpp.o
    [ 97%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/transactionview.cpp.o
    [ 97%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/walletcontroller.cpp.o
    [ 97%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/walletframe.cpp.o
    [ 97%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/walletmodel.cpp.o
    [ 97%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/walletmodeltransaction.cpp.o
    [ 98%] Building CXX object src/qt/CMakeFiles/bitcoinqt.dir/walletview.cpp.o
    [ 98%] Linking CXX static library ../../lib/libbitcoinqt.a
    [ 98%] Built target bitcoinqt
    [ 98%] Built target bitcoin-qt_autogen_timestamp_deps
    [ 98%] Built target bitcoin-gui_autogen_timestamp_deps
    [ 98%] Automatic MOC and UIC for target bitcoin-gui
    [ 98%] Automatic MOC and UIC for target bitcoin-qt
    [ 98%] Built target bitcoin-qt_autogen
    [ 98%] Built target bitcoin-gui_autogen
    [ 98%] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
    [ 98%] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/__/init/bitcoin-qt.cpp.o
    [100%] Building CXX object src/qt/CMakeFiles/bitcoin-gui.dir/main.cpp.o
    [100%] Building CXX object src/qt/CMakeFiles/bitcoin-gui.dir/__/init/bitcoin-gui.cpp.o
    [100%] Linking CXX executable ../../bin/bitcoin-qt
    [100%] Linking CXX executable ../../bin/bitcoin-gui
    [100%] Built target bitcoin-qt
    [100%] Built target bitcoin-gui
    

    </details>

  5. fanquake commented at 9:58 AM on April 17, 2026: member

    but it is also a necessary prerequisite for effectively addressing #29914.

    It would be good to see the changes that require this. The same logic applies to other optional dependencies, so it'd be good to be clear about what should live in build-config.h, or shouldn't, and why this needs to be moved out.

  6. DrahtBot added the label CI failed on Apr 19, 2026
  7. hebasto force-pushed on Apr 19, 2026
  8. hebasto force-pushed on Apr 19, 2026
  9. DrahtBot removed the label CI failed on Apr 19, 2026
  10. cmake: Move `USE_DBUS` to `bitcoinqt` target
    This removes the `USE_DBUS` definition from `bitcoin-build-config.h`,
    reducing the dependency of non-GUI code on GUI-specific definitions.
    202a637c9c
  11. cmake: Move `USE_QRCODE` to `bitcoinqt` target
    This removes the `USE_QRCODE` definition from `bitcoin-build-config.h`,
    reducing the dependency of non-GUI code on GUI-specific definitions.
    
    Additionally, `QRencode::QRencode` is now linked only when wallet is
    enabled, because the `qrencode.h` header is used exclusively in
    wallet-specific code.
    cf7f6a0c39
  12. cmake: Move `ENABLE_WALLET` to `bitcoinqt` and `test_bitcoin-qt` targets
    This removes the `ENABLE_WALLET` definition from
    `bitcoin-build-config.h`, reducing the dependency of core code on the
    optional definitions.
    9a9e404825
  13. cmake: Move `ENABLE_TRACING` to `USDT::headers` target
    This removes the `ENABLE_TRACING` definition from
    `bitcoin-build-config.h`, reducing the dependency of core code on the
    optional definitions.
    
    Additionally, the `FindUSDT` module is refactored to use
    `target_include_directories` instead of `set_target_properties`.
    71ca384595
  14. hebasto force-pushed on Apr 24, 2026
  15. hebasto renamed this:
    cmake: Remove GUI-specific definitions from `bitcoin-build-config.h`
    cmake: Remove optional definitions from `bitcoin-build-config.h`
    on Apr 24, 2026
  16. hebasto force-pushed on Apr 24, 2026
  17. DrahtBot added the label CI failed on Apr 24, 2026
  18. cmake: Move `ENABLE_EXTERNAL_SIGNER` to `bitcoin_common` target
    This removes the `ENABLE_EXTERNAL_SIGNER` definition from
    `bitcoin-build-config.h`, reducing the dependency of core code on the
    optional definitions.
    138a4c583a
  19. hebasto force-pushed on Apr 24, 2026
  20. hebasto commented at 3:24 PM on April 24, 2026: member

    but it is also a necessary prerequisite for effectively addressing #29914.

    It would be good to see the changes that require this. The same logic applies to other optional dependencies, so it'd be good to be clear about what should live in build-config.h, or shouldn't, and why this needs to be moved out.

    Reworked. The PR description has been updated.

  21. DrahtBot removed the label CI failed on Apr 24, 2026
  22. hebasto commented at 1:16 PM on April 27, 2026: member

    My Guix build:

    aarch64
    dfbe1dce053a80d7a0a50ba4bba644ec6c76e51e516b3ba45a627fbaec62afb8  guix-build-138a4c583aad/output/aarch64-linux-gnu/SHA256SUMS.part
    bf34fb34afe907028f26d630bfc11cd9de17467607a50ce502a02d8e6a0d92f3  guix-build-138a4c583aad/output/aarch64-linux-gnu/bitcoin-138a4c583aad-aarch64-linux-gnu-debug.tar.gz
    d577a9a5247e3d3036251b46e210cf68eec8d118f0a00c75fbc1b4b5d6b6e23d  guix-build-138a4c583aad/output/aarch64-linux-gnu/bitcoin-138a4c583aad-aarch64-linux-gnu.tar.gz
    26af8fa53cd0173dc70025d776871b19bb0a641b258441860ce249dbf6bbadea  guix-build-138a4c583aad/output/arm-linux-gnueabihf/SHA256SUMS.part
    364ae7ae55c5259b68494167baf7302fc5a3fc9a0276da11eeda9b83cab8a8c0  guix-build-138a4c583aad/output/arm-linux-gnueabihf/bitcoin-138a4c583aad-arm-linux-gnueabihf-debug.tar.gz
    d7352a9db151a401a60dfcc111680986965c4778b69eae03e4883630f8eda37e  guix-build-138a4c583aad/output/arm-linux-gnueabihf/bitcoin-138a4c583aad-arm-linux-gnueabihf.tar.gz
    12f51fc0b308e909f697ee4133b3298820004cfcc479949f4635655ca1e7601c  guix-build-138a4c583aad/output/arm64-apple-darwin/SHA256SUMS.part
    efc3697f06f232bb977db4b9fea9b638fb1f6a2fbe801e44a31c74b290069a14  guix-build-138a4c583aad/output/arm64-apple-darwin/bitcoin-138a4c583aad-arm64-apple-darwin-codesigning.tar.gz
    065c6cfbe4e794d3e925df5b682444facf69e86236ad83a8ce1743027f899a32  guix-build-138a4c583aad/output/arm64-apple-darwin/bitcoin-138a4c583aad-arm64-apple-darwin-unsigned.tar.gz
    97500452ef27dee71eb479bfbc98af4d2f660b45befbe515f357afbd2d1b3a8a  guix-build-138a4c583aad/output/arm64-apple-darwin/bitcoin-138a4c583aad-arm64-apple-darwin-unsigned.zip
    f121520263382057c5a75516e5a0512fc1ec9660298e4a406336499e689d3622  guix-build-138a4c583aad/output/dist-archive/bitcoin-138a4c583aad.tar.gz
    6acbb8095895b3d11da4d4f75e7e4cfdd4e9df9a6981fa54589b4fd9e07b953e  guix-build-138a4c583aad/output/powerpc64-linux-gnu/SHA256SUMS.part
    a03c2a993951ddae7d5c5eed85e742a00d59ad94d97fb37045495c88455d9ccf  guix-build-138a4c583aad/output/powerpc64-linux-gnu/bitcoin-138a4c583aad-powerpc64-linux-gnu-debug.tar.gz
    8c6c7483d766ecb2d0527d6ff2fc7d05f724637c6123f040a38fec8a516b5b98  guix-build-138a4c583aad/output/powerpc64-linux-gnu/bitcoin-138a4c583aad-powerpc64-linux-gnu.tar.gz
    70ed4b27f83d778b5c8b4beb43d66f836ae10492fa8e7d34048cfa0e6b6352a5  guix-build-138a4c583aad/output/riscv64-linux-gnu/SHA256SUMS.part
    44c6b4477e7663c35d2fe9b1ec42f95928c1af4f09ff96f29be98fbc26596773  guix-build-138a4c583aad/output/riscv64-linux-gnu/bitcoin-138a4c583aad-riscv64-linux-gnu-debug.tar.gz
    a7514afe11fb79c22b2cbf9427c7ed388bbce7d4cd5bd7533c4251eb89721846  guix-build-138a4c583aad/output/riscv64-linux-gnu/bitcoin-138a4c583aad-riscv64-linux-gnu.tar.gz
    1a1298335c3b0b44120d2754547c63e859a271d88801eecfff98940667350c25  guix-build-138a4c583aad/output/x86_64-apple-darwin/SHA256SUMS.part
    f0bb0471ff05437740cef69a8e41825439a9d90515902ba927ae954b14be87f5  guix-build-138a4c583aad/output/x86_64-apple-darwin/bitcoin-138a4c583aad-x86_64-apple-darwin-codesigning.tar.gz
    9dff5bf571461ae09483243206a855d01e15af25b65a2ae263a54248664b3acd  guix-build-138a4c583aad/output/x86_64-apple-darwin/bitcoin-138a4c583aad-x86_64-apple-darwin-unsigned.tar.gz
    34a9744ca9ac2c354eccaa2b38f7fc1d4aad74520f11cab4dece184469de1950  guix-build-138a4c583aad/output/x86_64-apple-darwin/bitcoin-138a4c583aad-x86_64-apple-darwin-unsigned.zip
    7b5e47ba1fb582ab62196e3ff0fd716c9431dd5559e894f3e8dc46f6a8d4d3ac  guix-build-138a4c583aad/output/x86_64-linux-gnu/SHA256SUMS.part
    062b141a71ea6993d2f00af71c8ece8d09d0e6ad40db68eb01810e1ae53ce81c  guix-build-138a4c583aad/output/x86_64-linux-gnu/bitcoin-138a4c583aad-x86_64-linux-gnu-debug.tar.gz
    36a46d92f23e3d239c00150b07b42c32df4cac1d472ffe499ea9038542aac46d  guix-build-138a4c583aad/output/x86_64-linux-gnu/bitcoin-138a4c583aad-x86_64-linux-gnu.tar.gz
    3f28b00ad498c69cbdd393392e87d3222322ee93a2388d2b0fc86d016679d94e  guix-build-138a4c583aad/output/x86_64-w64-mingw32/SHA256SUMS.part
    95ad64f35e3df8174a70263a44365027155bcb247d9dc8b0a9a1533c2d72f2a6  guix-build-138a4c583aad/output/x86_64-w64-mingw32/bitcoin-138a4c583aad-win64-codesigning.tar.gz
    14962162083957e50636c53e4522a56ae3c7059a37c52d8f20b04ae90be6b9b8  guix-build-138a4c583aad/output/x86_64-w64-mingw32/bitcoin-138a4c583aad-win64-debug.zip
    0cfe52b1e59178049b880d95a28175e69be65ab41cef9e4cbad031837de7d778  guix-build-138a4c583aad/output/x86_64-w64-mingw32/bitcoin-138a4c583aad-win64-setup-unsigned.exe
    edfa2a73a6bd1de70022292f6622acf8d6cf548c93b6fa3bc5a97c4b85183aa2  guix-build-138a4c583aad/output/x86_64-w64-mingw32/bitcoin-138a4c583aad-win64-unsigned.zip
    
  23. 151henry151 commented at 9:31 PM on April 29, 2026: contributor

    PR #33828 has gen-manpages.py read build/src/bitcoin-build-config.h for a few macros (HAVE_SYSTEM, ENABLE_WALLET, WITH_ZMQ). As optional defines move out of that header: it would be nice to have a single source of truth for “what was enabled” for this kind of tooling, though combining sources (header where it still exists, CMakeCache.txt or similar otherwise) may be fine. That ties into the earlier thread here about what belongs in build-config.h vs elsewhere—any guidance on what you’d prefer for scripts like this?


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-15 03:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me