No description provided.
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-
purpleKarrot commented at 9:33 AM on September 5, 2025: contributor
-
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-->
-
draft: CMake Goals and Guidelines 8807e3153d
- purpleKarrot force-pushed on Sep 8, 2025
-
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.
-
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?
-
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.
- fanquake closed this on Sep 9, 2025