-
Notifications
You must be signed in to change notification settings - Fork 5
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
#179
Conversation
Also add a sanity check for non-encapsulated (directory-wide) build properties.
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com> Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
If any of {C,CXX,CPP,LD}FLAGS is specified it should be assigned to a non-type-specific variable.
To configure CMake for cross-compiling, use `--toolchain depends/${HOST}/toolchain.cmake` command-line option.
Only versioning has been updated for now.
Keep this commit at the top when rebasing.
Friendly ping @vasild @m3dwards @TheCharlatan @pablomartin4btc :) |
My Guix builds (except for two macOS hosts):
|
I tried this but ended up with a different tree.
Can you post a diff between before and after you reordered the commits in
how to reorder exactly? |
My diff for the commits reordering step is zero. What is your diff? |
I've put the CI stuff at the top. Then all docs related commits. The |
I mean diff of that commits list. I tried this and other combinations as well: @@ -80,12 +80,7 @@
pick 9791162134 cmake: Remove legacy MSVC build system
pick bca4d31e87 depends: Bump libmultiprocess source
pick 7d69bba466 cmake: Add `MULTIPROCESS` option
-pick af998da072 ci: Test CMake edge cases
-fixup 1e7a579e6a fixup! ci: Test CMake edge cases
-fixup c08acdbfed fixup! ci: Test CMake edge cases
-fixup 8fd40d4247 fixup! ci: Test CMake edge cases
pick 0eda1c2ef5 cmake, doc: Update `build-freebsd.md`
-pick 63bbe26e95 cmake: Add CI-specific presets
pick a4d6a0cd88 cmake [KILL 3-STATE]: Switch `WITH_NATPMP` to boolean w/ default OFF
pick 5bfecf4462 cmake [KILL 3-STATE]: Switch `WITH_MINIUPNPC` to boolean w/ default OFF
pick 732b4e9727 cmake [KILL 3-STATE]: Switch `WITH_ZMQ` to boolean w/ default OFF
@@ -96,6 +91,11 @@
pick 1818593cd6 depends: Fix Autotools-generated `libevent*.pc` files
pick 20f83ae67c [FIXUP] cmake: Use `pkg-config --static` when building w/ depends
pick f8994d142f cmake, doc: Update `build-openbsd.md`
+pick af998da072 ci: Test CMake edge cases
+fixup 1e7a579e6a fixup! ci: Test CMake edge cases
+fixup c08acdbfed fixup! ci: Test CMake edge cases
+fixup 8fd40d4247 fixup! ci: Test CMake edge cases
+pick 63bbe26e95 cmake: Add CI-specific presets |
I've reordered commits after completing the Doing in a such way, I was able to ensure that commit reordering and manual squashing of a "[FIXUP] ..." commit did not introduce any diff. |
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 101f3ef
I reproduced up to after the rebase. Then the only diff is in build_msvc/fuzz/fuzz.vcxproj
as shown by diff -u <(git diff 19865a8350..101f3ef12d) <(git diff 19865a8350..HEAD)
.
Couldn't reorder the commits after the rebase. Would be nice to reproduce that and end up with identical tree (without the changes to build_msvc/fuzz/fuzz.vcxproj
as well). The list I get after the rebase is:
pick 70b521a429 cmake: Add root `CMakeLists.txt` file
pick e79f89f297 cmake: Introduce core interface libraries to encapsulate common flags
pick 996fc96bf0 cmake: Add `config/bitcoin-config.h` support
pick 78f051f3c1 cmake: Check system headers
pick b188b8e341 cmake: Check system symbols
pick f2392ad6e0 cmake: Check compiler features
pick 3d15d8a6f7 cmake: Add position independent code support
pick b1649c7f21 cmake: Add platform-specific definitions and properties
pick 7e383bac1c cmake: Build `crc32c` static library
pick 916af2f55d cmake: Build `leveldb` static library
pick 74e3b96e4a cmake: Build `minisketch` static library
pick 4f83f15d1e cmake: Build `secp256k1` static library
pick 61da6b4546 cmake: Build `univalue` static library
pick 4196ca6ab2 cmake: Build `bitcoin_crypto` library
pick a3c72ce519 cmake: Build `bitcoin_util` static library
pick 94432dc237 cmake: Build `bitcoin_consensus` library
pick daf6fcbd80 cmake: Build `bitcoind` executable
pick ef7853adbc depends: Amend handling flags environment variables
pick 2a69cbd9fd build: Generate `share/toolchain.cmake` in depends
pick 140a5e865d cmake: Add cross-compiling support
pick a616aa201e cmake: Add `TristateOption` module
pick db2214dd6a cmake: Add `ccache` support
pick a21eafca66 cmake: Add `libnatpmp` optional package support
pick df4b19c031 cmake: Add `libminiupnpc` optional package support
pick 9d4654dcd2 cmake: Add `libzmq` optional package support
pick 6f609fa2ed cmake: Add `systemtap-sdt` optional package support
pick 7a3dc0a9e0 cmake: Build `bitcoin-cli` executable
pick 0ed2a79ff3 cmake: Build `bitcoin-tx` executable
pick 3fc0bac620 cmake: Build `bitcoin-util` executable
pick 5934d40648 cmake: Add wallet functionality
pick 895cd983c2 cmake: Add test config and runners
pick 1ced32925a cmake: Build `bench_bitcoin` executable
pick 508d4f4b22 cmake: Build `test_bitcoin` executable
pick b1a5b5d38a cmake: Include CTest
pick 5793a488e8 cmake: Add `TryAppendCXXFlags` module
pick cfe28c9f38 cmake: Add `TryAppendLinkerFlag` module
pick b774fa91c6 cmake: Add platform-specific compiler flags
pick 5b37e0e1a5 cmake: Add platform-specific linker flags
pick 90120ef7c5 cmake: Redefine/adjust per-configuration flags
pick 56f1c69176 cmake: Add general compile options
pick cf678c89ac cmake: Add `HARDENING` option
pick b15d4685ed cmake: Add `REDUCE_EXPORTS` option
pick 0241d2a408 cmake: Add `WERROR` option
pick ea597533d4 cmake: Implement `make install`
pick e93cfc5ec4 cmake: Generate `obj/build.h` header
pick 203115960f Revert "build, qt: Do not install *.prl files"
pick 48e1eb0e8b qt, build: Drop `QT_STATICPLUGIN` macro
pick b81b76aa2f cmake: Build `bitcoin-qt` executable
pick 3e529ef1fe cmake: Build `test_bitcoin-qt` executable
pick 29780c8ea7 qt: Drop `Q_IMPORT_PLUGIN` macros
pick d00c32400f cmake: Add `libqrencode` optional package support
pick 40558db38b cmake: Add `SANITIZERS` option
pick 195cea7e34 cmake: Add external signer support
pick cbb5acd351 cmake: Add fuzzing options
pick 4fc4ee4212 cmake: Add `AddWindowsResources` module
pick 54f3f69262 cmake: Add `Maintenance` module
pick dc21a8b4d1 cmake: Migrate Guix build scripts to CMake
pick ecfb89e79a cmake: Add vcpkg manifest file
pick 90b075f116 cmake: Add preset for MSVC build
pick 649de78bc0 Fix MSVC warning C4273 "inconsistent dll linkage"
pick 5ad1980ed2 cmake, doc: Update `release-process.md`
pick 099bcc4fa4 cmake: Add compiler diagnostic flags
pick 2840da4b33 test: Fix MSVC warning C4101 "unreferenced local variable"
pick af5cdbb1e6 cmake: Build `bitcoinkernel` library
pick 546943a825 cmake: Build `bitcoin-chainstate` executable
pick f63b23b7b1 cmake, docs: Update MSVC build docs
pick 2cb91ae863 cmake: Remove legacy MSVC build system
pick 756c71d8c4 depends: Bump libmultiprocess source
pick 8dd21f8b9e cmake: Add `MULTIPROCESS` option
pick 89dcac0b43 ci: Test CMake edge cases
pick 2a15f76b90 cmake, doc: Update `build-freebsd.md`
pick 3b3c97c97c cmake: Add CI-specific presets
pick a844edf08a cmake [KILL 3-STATE]: Switch `WITH_NATPMP` to boolean w/ default OFF
pick c28c2ede67 cmake [KILL 3-STATE]: Switch `WITH_MINIUPNPC` to boolean w/ default OFF
pick 85b26b2374 cmake [KILL 3-STATE]: Switch `WITH_ZMQ` to boolean w/ default OFF
pick 4a7fd48a13 cmake [KILL 3-STATE]: Switch `MULTIPROCESS` to boolean w/ default OFF
pick 43c2bfbf60 cmake, doc: Update `build-osx.md`
pick ded129ad59 ci: Workaround Microsoft mirror issue for GitHub Action
pick e328f7d347 depends: Fix Autotools-generated `libzmq.pc` file
pick 47a340d2ee depends: Fix Autotools-generated `libevent*.pc` files
pick 81bde16955 [FIXUP] cmake: Use `pkg-config --static` when building w/ depends
pick 04a9657fab cmake, doc: Update `build-openbsd.md`
(output from git rebase -i 19865a8350
after the first rebase that did the autosquashing).
I got changes in ➜ bitcoin git:(0b5f323cc3) ✗ git --no-pager diff hebasto/240429-linear
diff --git a/build_msvc/fuzz/fuzz.vcxproj b/build_msvc/fuzz/fuzz.vcxproj
new file mode 100644
index 0000000000..fb77251a17
--- /dev/null
+++ b/build_msvc/fuzz/fuzz.vcxproj |
After reordering of commits, the commit, which removes the entire |
Understood My Guix build got a similar looking error to the CI failure on this PR. Could not find install_name_tool, please check your installation Rest of the outputs match yours though40dcba9af2f3220e21edd1480cbe9bbc4c82f4b3c4701b8930b43b3981d79701 guix-build-101f3ef12da1/output/aarch64-linux-gnu/SHA256SUMS.part
8d3cd86cb00ef332fb244841a792d5f1e3c847a462dea6c2af2486c82b457aa1 guix-build-101f3ef12da1/output/aarch64-linux-gnu/bitcoin-101f3ef12da1-aarch64-linux-gnu-debug.tar.gz
b3943ca1ed48576daccb63eaefc9fad9b2d975324ccc9c97cbf1e164170f3d67 guix-build-101f3ef12da1/output/aarch64-linux-gnu/bitcoin-101f3ef12da1-aarch64-linux-gnu.tar.gz
1c9f3628977e916f44aaf36fc3ebcdd6f9de58ed8aaad26c9eaac58ffe448fb0 guix-build-101f3ef12da1/output/arm-linux-gnueabihf/SHA256SUMS.part
7f4cc330cdbc28c40ebdb0f930df75c96c45ba138633ee1879030b816b5fcdc4 guix-build-101f3ef12da1/output/arm-linux-gnueabihf/bitcoin-101f3ef12da1-arm-linux-gnueabihf-debug.tar.gz
8755b525fe8233629082136cad235eaeb6901edc14bd135cc32af336d5c66d4b guix-build-101f3ef12da1/output/arm-linux-gnueabihf/bitcoin-101f3ef12da1-arm-linux-gnueabihf.tar.gz
04a06cbd2f0a9e1c8c53f4068464b9ef3d834202e94228a6e40689372f8c0ba8 guix-build-101f3ef12da1/output/dist-archive/bitcoin-101f3ef12da1.tar.gz
611c69da54c984b7597b4003ab8eaab131aed803d6d40f983e8687314591c96a guix-build-101f3ef12da1/output/powerpc64-linux-gnu/SHA256SUMS.part
eae74197798cbe1142026a777de2c1975d2c4916bb9470ea8ed84fbde29ebfdb guix-build-101f3ef12da1/output/powerpc64-linux-gnu/bitcoin-101f3ef12da1-powerpc64-linux-gnu-debug.tar.gz
a06b24426a99374815c5753b3cab98fa9a78c4d9bb0d8b60996c20bc2ac87997 guix-build-101f3ef12da1/output/powerpc64-linux-gnu/bitcoin-101f3ef12da1-powerpc64-linux-gnu.tar.gz
8d7cdfd5401fd82339f4765567b3078625d493a8e7447a70f207816f5c2ca387 guix-build-101f3ef12da1/output/riscv64-linux-gnu/SHA256SUMS.part
b6a059c415ee4c52264a74b542cc353ba4301c65d076583c4ae82d3d5060b474 guix-build-101f3ef12da1/output/riscv64-linux-gnu/bitcoin-101f3ef12da1-riscv64-linux-gnu-debug.tar.gz
0e2671b607a6a9cc518fe3a5f2c1d0e86156cc79f4094d960ec55fed521ebccb guix-build-101f3ef12da1/output/riscv64-linux-gnu/bitcoin-101f3ef12da1-riscv64-linux-gnu.tar.gz
be7a9b35c2fbf15964c22691092796c2d3936f71f40d402caed98058ee0adaa0 guix-build-101f3ef12da1/output/x86_64-linux-gnu/SHA256SUMS.part
55869202ee8f23e35a1472da8235b79aa7521aa2441b6292d5a460f7f43cf3c7 guix-build-101f3ef12da1/output/x86_64-linux-gnu/bitcoin-101f3ef12da1-x86_64-linux-gnu-debug.tar.gz
79622931cea202cef272508e46336a852f711583c82d97c86c5f902920ce3c8e guix-build-101f3ef12da1/output/x86_64-linux-gnu/bitcoin-101f3ef12da1-x86_64-linux-gnu.tar.gz
9242a4bf9658b19ccb0e449ec6078f1a9b89dbfe0f0f288bab4e701cb4875200 guix-build-101f3ef12da1/output/x86_64-w64-mingw32/SHA256SUMS.part
ff548a7375a57c5d1d3ef4c930992371fb9aae3700e9f65a62af7e53d792aa72 guix-build-101f3ef12da1/output/x86_64-w64-mingw32/bitcoin-101f3ef12da1-win64-debug.zip
c3dc149b1be0ad7d12bff801b7ccebde3babb8f480a74d788f6ae8dfafccb6c0 guix-build-101f3ef12da1/output/x86_64-w64-mingw32/bitcoin-101f3ef12da1-win64-setup-unsigned.exe
48c95652056fd75832112c1e0604aa8ea5d9fb3b8ef69a87869ea44080129756 guix-build-101f3ef12da1/output/x86_64-w64-mingw32/bitcoin-101f3ef12da1-win64-unsigned.tar.gz
eda9345142f0997302184f8fa7317528adb21e1f8b73bb3831d6a6e896d11c24 guix-build-101f3ef12da1/output/x86_64-w64-mingw32/bitcoin-101f3ef12da1-win64.zip |
ACK 101f3ef |
Thank you for your reviews! This branch has been force pushed into the https://github.com/hebasto/bitcoin/tree/cmake-staging. Closing. |
772769a fixup! cmake: Add `Maintenance` module (Hennadii Stepanov) fa36e33 fixup! cmake: Add platform-specific linker flags (Hennadii Stepanov) c6dc19f fixup! build: Generate `toolchain.cmake` in depends (Hennadii Stepanov) cddeb04 fixup! cmake: Add root `CMakeLists.txt` file (Hennadii Stepanov) Pull request description: This PR ports bitcoin#29890 and fixes cross-compiling for macOS been broken since the recent sync/rebase [PR](#179). ACKs for top commit: m3dwards: Giving a utACK 772769a Tree-SHA512: f0f10317b1fd5e46d1b7f340f4efb9f1b27a6a7a9b11191736c8edf32c278ba6d9ca4ef38d03a78cb40d58637e7e9746020b264a3f7eeb9903c23cb726f18fbf
6825400 fixup! cmake: Build `bitcoin_util` static library (Hennadii Stepanov) 29e6154 fixup! cmake: Build `test_bitcoin` executable (Hennadii Stepanov) e402d2c fixup! cmake: Build `bitcoind` executable (Hennadii Stepanov) Pull request description: This PR ports bitcoin#29904 after the recent sync/rebase [PR](#179). Top commit has no ACKs. Tree-SHA512: 97613b404c7747b117c7be38fc310143d49f25208f8626d6dff37ea296cbe9724c072e6b16d62455882fe002310613e8b97037dfee276a0266f924cc83aff035
fc91bfe fixup! cmake: Add fuzzing options (Hennadii Stepanov) 5927338 fixup! cmake: Add platform-specific definitions and properties (Hennadii Stepanov) dcf2e66 refactor: Make 64-bit shift explicit (Hennadii Stepanov) a7edea8 refactor: Fix "error C2248: cannot access private member" on MSVC (Hennadii Stepanov) Pull request description: This PR ports bitcoin#29774 after the recent sync/rebase [PR](#179). Also included changes from bitcoin#29983. Top commit has no ACKs. Tree-SHA512: 562919ec9b89401d193c6d59a8634f5086a1a063b6ee075c465c5dbc9bf59da4bb1eb7b826deac91f470e22fe9bf049b43b7106bdc66c5d26c715d68a1008f4d
This is the cmake-staging branch rebased on the recent bitcoin/master one, which includes the main build system changes, with the squashed "!fixup" commits.
Steps to reproduce:
There are a few conflicts that have to be resolved.
The build system related changes from the following PRs (labeled "Needs CMake port"):
are to be backported in dedicated PRs shortly after approving this one.
UPD. Cross-compiling for macOS CI jobs are broken due to bitcoin#29890. This is currently under further investigation and should not be a blocker for this PR.