Skip to content
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

cmake: Regular rebasing of the cmake-staging branch #290

Closed
wants to merge 72 commits into from

Conversation

hebasto
Copy link
Owner

@hebasto hebasto commented Jul 31, 2024

This is the cmake-staging branch rebased on the recent bitcoin/master branch, which includes the main build system changes, with the squashed "!fixup" commits.

Steps to reproduce:

  1. Run the command as follows:
git checkout 02afae4083df8370773be12f13ffe8b63b7399b4
git rebase -i --autosquash 2ed82060b9059ca01a6ea4334acd42b48c9bf54b

There are a few conflicts that have to be resolved.

  1. Port build system changes from:
  1. Squash and reorder commits to make their history suitable for a PR to the main repository (it must be a zero-diff change).

  2. The top three commits, which are not intended to be a part of build: Introduce CMake-based build system bitcoin/bitcoin#30454, are explicitly marked with the [STAGING BRANCH ONLY] in their titles (also see cmake, ci: Migrate "test-each-commit" task #288 (comment)).

@hebasto hebasto marked this pull request as draft July 31, 2024 09:29
Our `QT_STATICPLUGIN` macro is effectively equivalent to the Qt's
`QT_STATIC` macro. No need to handle both of them.
When using CMake, each plugin comes with a C++ stub file that
automatically initializes the static plugin. Consequently, any target
that links against a plugin has this C++ file added to its SOURCES,
which makes the removed code redundant.
To configure CMake for cross-compiling, use
`--toolchain depends/${HOST}/toolchain.cmake` command-line option.
The content of those variables is appended to the each target after the
flags added by the build system.
Keep this commit at the top when rebasing.
This change fixes CI jobs as the `miniupnpc` source archive is not
available neither at https://miniupnp.tuxfamily.org nor at
https://bitcoincore.org/depends-sources at this moment.
@m3dwards
Copy link

ACK 19d4d92

I have a clean diff between the steps in the PR description and 19d4d92

Running guix build.

@hebasto
Copy link
Owner Author

hebasto commented Jul 31, 2024

My Guix build:

x86_64
6b0786ad6e4a72ce460d6c7772c8228bfce480c911c58d1449a513c0bd10643c  guix-build-19d4d920d97a/output/aarch64-linux-gnu/SHA256SUMS.part
9833553197323aac7118591a82a79bd912b12ec4ea056d208478f822cf78b84a  guix-build-19d4d920d97a/output/aarch64-linux-gnu/bitcoin-19d4d920d97a-aarch64-linux-gnu-debug.tar.gz
2f22da5334dbfc856c8b22793fc6debb04476f7196ec02442216d5e8c84a51e9  guix-build-19d4d920d97a/output/aarch64-linux-gnu/bitcoin-19d4d920d97a-aarch64-linux-gnu.tar.gz
07227f91ab2239f97a9b5e9c66d7d6ae33f7fb598d800e31d1cfcd85c5071219  guix-build-19d4d920d97a/output/arm-linux-gnueabihf/SHA256SUMS.part
b2158ca6d3b8431dacbec7b19eac49f98e547ee2973be31b0f61d2258b43f8da  guix-build-19d4d920d97a/output/arm-linux-gnueabihf/bitcoin-19d4d920d97a-arm-linux-gnueabihf-debug.tar.gz
e446feb384b1592e0b7194ff1b93d9c9404be298d37289a8d7d15a0e4f1dd309  guix-build-19d4d920d97a/output/arm-linux-gnueabihf/bitcoin-19d4d920d97a-arm-linux-gnueabihf.tar.gz
0bff2722901a55a6f4cf44c22f97ca39f9e151fce206f9d45e6149566119e79b  guix-build-19d4d920d97a/output/arm64-apple-darwin/SHA256SUMS.part
5481dfce61a02f42934ba91fa0a553876e568be7d0ac9d955e12027a698b4829  guix-build-19d4d920d97a/output/arm64-apple-darwin/bitcoin-19d4d920d97a-arm64-apple-darwin-unsigned.tar.gz
b4ae392d9502d124f6de1370144f1c66e1345df12d15305b92e1d528b6f2bea3  guix-build-19d4d920d97a/output/arm64-apple-darwin/bitcoin-19d4d920d97a-arm64-apple-darwin-unsigned.zip
e98ebc30b2a7e8df5924d47583d0d0c504c390389262dd420996dce4461616e4  guix-build-19d4d920d97a/output/arm64-apple-darwin/bitcoin-19d4d920d97a-arm64-apple-darwin.tar.gz
e9605e570c25d201abeb3112c9b367c42276cd88daee215433ae55b4c5365ebc  guix-build-19d4d920d97a/output/dist-archive/bitcoin-19d4d920d97a.tar.gz
f15d6aed95baaae0a21e6bcbbed973582851b70c999a1e7634d671f06f5a0d85  guix-build-19d4d920d97a/output/powerpc64-linux-gnu/SHA256SUMS.part
83f9e965f24d9b9e3b9df5462e6368b661079e8edc1b3c9986e02ffb515c8083  guix-build-19d4d920d97a/output/powerpc64-linux-gnu/bitcoin-19d4d920d97a-powerpc64-linux-gnu-debug.tar.gz
bc5dda68069924de5458b079e06f7d75ea2ac726e730c53ce3e3ca75dec9b34e  guix-build-19d4d920d97a/output/powerpc64-linux-gnu/bitcoin-19d4d920d97a-powerpc64-linux-gnu.tar.gz
b2bfcbc1d4da0a60d184ffdd1fdffa4619c597786a22de04054ebd5268d284bf  guix-build-19d4d920d97a/output/riscv64-linux-gnu/SHA256SUMS.part
e237491c748147cf9be838f74b67785ad8109e1eb7985b44b1b72b9e61876a7e  guix-build-19d4d920d97a/output/riscv64-linux-gnu/bitcoin-19d4d920d97a-riscv64-linux-gnu-debug.tar.gz
4112d5eeb42a8ffd64a49e036fc89f5e1be742312e9368266e8e3a57a14dcef9  guix-build-19d4d920d97a/output/riscv64-linux-gnu/bitcoin-19d4d920d97a-riscv64-linux-gnu.tar.gz
a5196780c00ac8dc8d1d336c0a2acedb87273822bd6484fee0cbce1c1f11bde5  guix-build-19d4d920d97a/output/x86_64-apple-darwin/SHA256SUMS.part
aea08e051debb5fe1725f6cfa85eb3c634acce1ec18d250f29b94595b8af1d6a  guix-build-19d4d920d97a/output/x86_64-apple-darwin/bitcoin-19d4d920d97a-x86_64-apple-darwin-unsigned.tar.gz
3552445d2c349ff5fa34396bf3650cc9e24ea31d6464327d17741b10027662bd  guix-build-19d4d920d97a/output/x86_64-apple-darwin/bitcoin-19d4d920d97a-x86_64-apple-darwin-unsigned.zip
4d200b2c48ace334350cea2dceba55d686fc30dd496158c3c60e0426d7385737  guix-build-19d4d920d97a/output/x86_64-apple-darwin/bitcoin-19d4d920d97a-x86_64-apple-darwin.tar.gz
ff321bb5828dabe54ad9901f7fcf0075fec1f61689a1e86a1c85653ffa393558  guix-build-19d4d920d97a/output/x86_64-linux-gnu/SHA256SUMS.part
d7ceab9b958864fe373eb6b94b35be80bc18aee1b2b9ec8bc384138127205b74  guix-build-19d4d920d97a/output/x86_64-linux-gnu/bitcoin-19d4d920d97a-x86_64-linux-gnu-debug.tar.gz
1c8b7927c42dbca4c32694ba2e665d515a8a2cf244d80a5a676a8493692cd0d7  guix-build-19d4d920d97a/output/x86_64-linux-gnu/bitcoin-19d4d920d97a-x86_64-linux-gnu.tar.gz
caf16812ea6d9aaeab9f2542060361283b62a6887141e30685b1155e6976e2d0  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/SHA256SUMS.part
24288ea64d32a3c5921563fffaa5a1ce68fc42ceafd62abe10f7cdd8959ba298  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/bitcoin-19d4d920d97a-win64-debug.zip
94e7e43cc7fef2f3db1e8ca3461b499b73ce98fef16d5c28be91a1f1679dfd08  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/bitcoin-19d4d920d97a-win64-setup-unsigned.exe
c3589d59d55d94aeadf4d759dd2baf35bd1739de074c513c80fae7a112290336  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/bitcoin-19d4d920d97a-win64-unsigned.tar.gz
797b06e78813248d99a67731c8b859c70ec37a275f309be070db40224e211dc9  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/bitcoin-19d4d920d97a-win64.zip

@hebasto
Copy link
Owner Author

hebasto commented Jul 31, 2024

@m3dwards

Thank you for your review!


This branch has been force pushed into the https://github.com/hebasto/bitcoin/tree/cmake-staging.

Closing.

@m3dwards
Copy link

m3dwards commented Jul 31, 2024

My x86_64 Guix build matches

6b0786ad6e4a72ce460d6c7772c8228bfce480c911c58d1449a513c0bd10643c  guix-build-19d4d920d97a/output/aarch64-linux-gnu/SHA256SUMS.part
9833553197323aac7118591a82a79bd912b12ec4ea056d208478f822cf78b84a  guix-build-19d4d920d97a/output/aarch64-linux-gnu/bitcoin-19d4d920d97a-aarch64-linux-gnu-debug.tar.gz
2f22da5334dbfc856c8b22793fc6debb04476f7196ec02442216d5e8c84a51e9  guix-build-19d4d920d97a/output/aarch64-linux-gnu/bitcoin-19d4d920d97a-aarch64-linux-gnu.tar.gz
07227f91ab2239f97a9b5e9c66d7d6ae33f7fb598d800e31d1cfcd85c5071219  guix-build-19d4d920d97a/output/arm-linux-gnueabihf/SHA256SUMS.part
b2158ca6d3b8431dacbec7b19eac49f98e547ee2973be31b0f61d2258b43f8da  guix-build-19d4d920d97a/output/arm-linux-gnueabihf/bitcoin-19d4d920d97a-arm-linux-gnueabihf-debug.tar.gz
e446feb384b1592e0b7194ff1b93d9c9404be298d37289a8d7d15a0e4f1dd309  guix-build-19d4d920d97a/output/arm-linux-gnueabihf/bitcoin-19d4d920d97a-arm-linux-gnueabihf.tar.gz
0bff2722901a55a6f4cf44c22f97ca39f9e151fce206f9d45e6149566119e79b  guix-build-19d4d920d97a/output/arm64-apple-darwin/SHA256SUMS.part
5481dfce61a02f42934ba91fa0a553876e568be7d0ac9d955e12027a698b4829  guix-build-19d4d920d97a/output/arm64-apple-darwin/bitcoin-19d4d920d97a-arm64-apple-darwin-unsigned.tar.gz
b4ae392d9502d124f6de1370144f1c66e1345df12d15305b92e1d528b6f2bea3  guix-build-19d4d920d97a/output/arm64-apple-darwin/bitcoin-19d4d920d97a-arm64-apple-darwin-unsigned.zip
e98ebc30b2a7e8df5924d47583d0d0c504c390389262dd420996dce4461616e4  guix-build-19d4d920d97a/output/arm64-apple-darwin/bitcoin-19d4d920d97a-arm64-apple-darwin.tar.gz
e9605e570c25d201abeb3112c9b367c42276cd88daee215433ae55b4c5365ebc  guix-build-19d4d920d97a/output/dist-archive/bitcoin-19d4d920d97a.tar.gz
f15d6aed95baaae0a21e6bcbbed973582851b70c999a1e7634d671f06f5a0d85  guix-build-19d4d920d97a/output/powerpc64-linux-gnu/SHA256SUMS.part
83f9e965f24d9b9e3b9df5462e6368b661079e8edc1b3c9986e02ffb515c8083  guix-build-19d4d920d97a/output/powerpc64-linux-gnu/bitcoin-19d4d920d97a-powerpc64-linux-gnu-debug.tar.gz
bc5dda68069924de5458b079e06f7d75ea2ac726e730c53ce3e3ca75dec9b34e  guix-build-19d4d920d97a/output/powerpc64-linux-gnu/bitcoin-19d4d920d97a-powerpc64-linux-gnu.tar.gz
b2bfcbc1d4da0a60d184ffdd1fdffa4619c597786a22de04054ebd5268d284bf  guix-build-19d4d920d97a/output/riscv64-linux-gnu/SHA256SUMS.part
e237491c748147cf9be838f74b67785ad8109e1eb7985b44b1b72b9e61876a7e  guix-build-19d4d920d97a/output/riscv64-linux-gnu/bitcoin-19d4d920d97a-riscv64-linux-gnu-debug.tar.gz
4112d5eeb42a8ffd64a49e036fc89f5e1be742312e9368266e8e3a57a14dcef9  guix-build-19d4d920d97a/output/riscv64-linux-gnu/bitcoin-19d4d920d97a-riscv64-linux-gnu.tar.gz
a5196780c00ac8dc8d1d336c0a2acedb87273822bd6484fee0cbce1c1f11bde5  guix-build-19d4d920d97a/output/x86_64-apple-darwin/SHA256SUMS.part
aea08e051debb5fe1725f6cfa85eb3c634acce1ec18d250f29b94595b8af1d6a  guix-build-19d4d920d97a/output/x86_64-apple-darwin/bitcoin-19d4d920d97a-x86_64-apple-darwin-unsigned.tar.gz
3552445d2c349ff5fa34396bf3650cc9e24ea31d6464327d17741b10027662bd  guix-build-19d4d920d97a/output/x86_64-apple-darwin/bitcoin-19d4d920d97a-x86_64-apple-darwin-unsigned.zip
4d200b2c48ace334350cea2dceba55d686fc30dd496158c3c60e0426d7385737  guix-build-19d4d920d97a/output/x86_64-apple-darwin/bitcoin-19d4d920d97a-x86_64-apple-darwin.tar.gz
ff321bb5828dabe54ad9901f7fcf0075fec1f61689a1e86a1c85653ffa393558  guix-build-19d4d920d97a/output/x86_64-linux-gnu/SHA256SUMS.part
d7ceab9b958864fe373eb6b94b35be80bc18aee1b2b9ec8bc384138127205b74  guix-build-19d4d920d97a/output/x86_64-linux-gnu/bitcoin-19d4d920d97a-x86_64-linux-gnu-debug.tar.gz
1c8b7927c42dbca4c32694ba2e665d515a8a2cf244d80a5a676a8493692cd0d7  guix-build-19d4d920d97a/output/x86_64-linux-gnu/bitcoin-19d4d920d97a-x86_64-linux-gnu.tar.gz
caf16812ea6d9aaeab9f2542060361283b62a6887141e30685b1155e6976e2d0  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/SHA256SUMS.part
24288ea64d32a3c5921563fffaa5a1ce68fc42ceafd62abe10f7cdd8959ba298  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/bitcoin-19d4d920d97a-win64-debug.zip
94e7e43cc7fef2f3db1e8ca3461b499b73ce98fef16d5c28be91a1f1679dfd08  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/bitcoin-19d4d920d97a-win64-setup-unsigned.exe
c3589d59d55d94aeadf4d759dd2baf35bd1739de074c513c80fae7a112290336  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/bitcoin-19d4d920d97a-win64-unsigned.tar.gz
797b06e78813248d99a67731c8b859c70ec37a275f309be070db40224e211dc9  guix-build-19d4d920d97a/output/x86_64-w64-mingw32/bitcoin-19d4d920d97a-win64.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants