draft: CMake Goals and Guidelines #33317

pull purpleKarrot wants to merge 1 commits into bitcoin:master from purpleKarrot:cmake-guidelines changing 1 files +126 −0
  1. purpleKarrot commented at 9:33 AM on September 5, 2025: contributor

    No description provided.

  2. DrahtBot commented at 9:33 AM on September 5, 2025: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33317.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Concept ACK ryanofsky

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  3. draft: CMake Goals and Guidelines 8807e3153d
  4. purpleKarrot force-pushed on Sep 8, 2025
  5. ryanofsky commented at 5:07 PM on September 8, 2025: contributor

    Concept ACK. Seems nice to document goals of cmake build. To avoid confusion, I hope the document will be expanded to say which of the guidelines are currently being met, which are more aspirational, and what needs to change to meet the goals. i think it would also be helpful to link to PRs/issues where these topics have been discussed. Other ideas (not sure they are good but just in case):

    • Maybe add this to the doc/design/ folder instead of the doc/ folder, especially if you think if will will contain more information about the bitcoin core build, as opposed to cmake builds in general
    • Since a lot of advice here is related to making bitcoin core usable as a camke subproject, and since in #33077 and #33153 you've brought up changes that could be made to make the bitcoin core usable as a cmake package, it would seem good to have concrete examples somewhere of an external project using bitcoin core as a subproject, and external project using it as a package. Maybe these could be added in contrib/, or be separate repositories, or maybe there are already existing examples we could link to.
  6. purpleKarrot commented at 5:35 PM on September 8, 2025: contributor

    Thanks for the review, @ryanofsky.

    I wanted to write down the goals first, and then create issues/PRs to make changes towards the goals bottom up: that means starting from libmultiprocess, minisketch, secp256k1. bitcoin-core will serve as an example how those libraries are consumed as subprojects.

    In the next step, bitcoin-core should follow the same goals and guidelines, because external clients may want to consume bitcoinkernel as a subproject, or because bitcoin-gui is extracted as another project that depends on bitcoin-core. @hebasto suggested offline to move this to the Wiki instead. @fanquake, can you grant me write access to the Wiki?

  7. fanquake commented at 9:24 AM on September 9, 2025: member

    can you grant me write access to the Wiki?

    You should have access now. Will close this in favour of the using wiki.

  8. fanquake closed this on Sep 9, 2025


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-04-19 09:12 UTC

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