-
Notifications
You must be signed in to change notification settings - Fork 38.7k
cmake: Check dependencies after build option interaction #33974
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33974. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please copy-paste ConflictsReviewers, this pull request conflicts with the following ones:
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. |
1adc044 to
0e0426f
Compare
0e0426f to
56d0a09
Compare
sedited
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 56d0a09
Guix build:
5bd1a78f590d48e5ceb5815b5ed346d06d738871c9ea26b754c9a851dcb7ee85 guix-build-56d0a0929d89/output/aarch64-linux-gnu/SHA256SUMS.part
cc0525310c1e1c1b1cb69c2256b8089b187830c27da9dd7ba9830884c35a0e95 guix-build-56d0a0929d89/output/aarch64-linux-gnu/bitcoin-56d0a0929d89-aarch64-linux-gnu-debug.tar.gz
bc891ef995772a5f09c48000b0b0e7d6dc142ae184490ef711c800f42c48cdeb guix-build-56d0a0929d89/output/aarch64-linux-gnu/bitcoin-56d0a0929d89-aarch64-linux-gnu.tar.gz
c1da46ecfaec3c3e040a6504182faf5f114cdbb69926757b1b10192e11919c2c guix-build-56d0a0929d89/output/arm-linux-gnueabihf/SHA256SUMS.part
5d5e6287f0369f662526d3af08041e7544bed163c41421d8c81be97b522d0c89 guix-build-56d0a0929d89/output/arm-linux-gnueabihf/bitcoin-56d0a0929d89-arm-linux-gnueabihf-debug.tar.gz
b4752c479a4a26930d00eb7b775f70744d73a6adbb06ea6d1f5a9542841ab994 guix-build-56d0a0929d89/output/arm-linux-gnueabihf/bitcoin-56d0a0929d89-arm-linux-gnueabihf.tar.gz
f73e98957bad390793b82c9d0d60d1733723e57335bcd2535d942e3931297219 guix-build-56d0a0929d89/output/arm64-apple-darwin/SHA256SUMS.part
a82dea7564ffa2fe233d758778315aebcb1d9df4f0e5c637d2068512c5a8377a guix-build-56d0a0929d89/output/arm64-apple-darwin/bitcoin-56d0a0929d89-arm64-apple-darwin-codesigning.tar.gz
f1efcb20c5c4316b54b29b3cbb7b13346df2429d21cb80cf539397b879ce490e guix-build-56d0a0929d89/output/arm64-apple-darwin/bitcoin-56d0a0929d89-arm64-apple-darwin-unsigned.tar.gz
4fb3b6f31c33b06cfa209235efa45129b4fc0b6914614f9760d697563d62e286 guix-build-56d0a0929d89/output/arm64-apple-darwin/bitcoin-56d0a0929d89-arm64-apple-darwin-unsigned.zip
f0403ed60ea3aa384c072fb669e42991336a1b0e55e469e31832a56ee39d77a3 guix-build-56d0a0929d89/output/dist-archive/bitcoin-56d0a0929d89.tar.gz
3a14924b8009db324534962b571987a5cc739e79206193bddf486af4d4b1d311 guix-build-56d0a0929d89/output/powerpc64-linux-gnu/SHA256SUMS.part
14015dd634a12d7280f1a6566ee751985b94b6fc2977dcd145d1e3e7a19becd5 guix-build-56d0a0929d89/output/powerpc64-linux-gnu/bitcoin-56d0a0929d89-powerpc64-linux-gnu-debug.tar.gz
b20eab5ad318339ef0ef68246780836a3ea0a50a9d7f9ff321082bffcbe628b8 guix-build-56d0a0929d89/output/powerpc64-linux-gnu/bitcoin-56d0a0929d89-powerpc64-linux-gnu.tar.gz
3c95edab2bf41192162392cd5fac69973974cbba4098e79da26abdc26ddf2a02 guix-build-56d0a0929d89/output/riscv64-linux-gnu/SHA256SUMS.part
5897b2f595df0121e12075373343d6244375fb54067af692d6ed220b6925fcba guix-build-56d0a0929d89/output/riscv64-linux-gnu/bitcoin-56d0a0929d89-riscv64-linux-gnu-debug.tar.gz
9494532acad032a435b4cc0c6b0c2faef8e333a7b561515d236ed98acafff038 guix-build-56d0a0929d89/output/riscv64-linux-gnu/bitcoin-56d0a0929d89-riscv64-linux-gnu.tar.gz
58f758b7db06e5f76457f366b86a16b6d4994274c8dfedd3f6a4bb7c8938bc02 guix-build-56d0a0929d89/output/x86_64-apple-darwin/SHA256SUMS.part
8720f905960ba7fc7e7625614236b587176380bb0b33cbe2c3ccc28ea1af7929 guix-build-56d0a0929d89/output/x86_64-apple-darwin/bitcoin-56d0a0929d89-x86_64-apple-darwin-codesigning.tar.gz
655b68f2ae7ef9cf4f54be47cda3fec98aa8b086bd616921a61904109da15108 guix-build-56d0a0929d89/output/x86_64-apple-darwin/bitcoin-56d0a0929d89-x86_64-apple-darwin-unsigned.tar.gz
5020c9f35a2584cb7fcf210815b53f509b8da624ffe7ce953b22f1bfe0510d2a guix-build-56d0a0929d89/output/x86_64-apple-darwin/bitcoin-56d0a0929d89-x86_64-apple-darwin-unsigned.zip
05fda737070cc821214064a2d5ef9bc15fc0b6b76d2df3b2b64c52d8c309c115 guix-build-56d0a0929d89/output/x86_64-linux-gnu/SHA256SUMS.part
a23759a540eb48c6695b0583fe30fbc994f9a89b70de996499e7304bd24e9b59 guix-build-56d0a0929d89/output/x86_64-linux-gnu/bitcoin-56d0a0929d89-x86_64-linux-gnu-debug.tar.gz
1de1e23e698a6f23b9e69c96e65237f2a26a77d3da19b6fefe9386d7ada7f076 guix-build-56d0a0929d89/output/x86_64-linux-gnu/bitcoin-56d0a0929d89-x86_64-linux-gnu.tar.gz
df33c8b9e987fbeb0aa2fbfada49b24c596b63a4a9f6c6daf56168ade90bfb14 guix-build-56d0a0929d89/output/x86_64-w64-mingw32/SHA256SUMS.part
90fdb394150627d7dd85c407d56ae6a50cc7fb4e64ab95d916523515b4879724 guix-build-56d0a0929d89/output/x86_64-w64-mingw32/bitcoin-56d0a0929d89-win64-codesigning.tar.gz
b5d3df18b6f6de5809da5fdec697f2e4fcbc8b4635331d4214507b4c40b837a0 guix-build-56d0a0929d89/output/x86_64-w64-mingw32/bitcoin-56d0a0929d89-win64-debug.zip
3902aa61740e4f74d4aa39b64849a1234c3bf28524298c382c4db556e1b5977f guix-build-56d0a0929d89/output/x86_64-w64-mingw32/bitcoin-56d0a0929d89-win64-setup-unsigned.exe
eb3bccca9af379f2cee04fbe42c0441988ff558c514c04d9d7fa003f325a13ac guix-build-56d0a0929d89/output/x86_64-w64-mingw32/bitcoin-56d0a0929d89-win64-unsigned.zip
56d0a09 to
05b92e1
Compare
BrandonOdiwuor
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested ACK 05b92e1
Confirmed that dependency checks now occur after build option resolution, eliminating unnecessary scans (e.g., ZeroMQ, QRencode, QT) in specialized builds like fuzzing.
Tested on Ubuntu 24.04 aarch64 cmake version 3.28.3
Tested on master
$ cmake -B build --preset dev-mode -DBUILD_FOR_FUZZING=ON
Tested on 05b92e1
$ cmake -B build --preset dev-mode -DBUILD_FOR_FUZZING=ON
At present,
CMakeLists.txtinterleaves configuration-option handling with dependency discovery. As a result, unnecessary checks may be performed. For example:This PR restructures the code to ensure that all dependencies are checked only after the final build option interaction.