[FUTURE] cmake: Switch from tri-state options to ON/OFF#83
Closed
hebasto wants to merge 56 commits into
Closed
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>
To configure CMake for cross-compiling, use
`--toolchain depends/${HOST}/share/toolchain.cmake` command-line option.
This reverts commit 1155978.
Keep this commit at the top when rebasing.
ff2f574 to
dacc6f7
Compare
eb145f2 to
7917e4e
Compare
Make build options explicit.
The tri-state options were provided for the only purpose to check the feature parity with the Autotools-based build system. Also a new "dev-mode" configure preset suggested.
7917e4e to
6f0ebce
Compare
fanquake
reviewed
Jan 31, 2024
| - system_packages: 'libboost-dev libevent-dev' | ||
| depends_options: 'NO_BDB=1 NO_SQLITE=1 NO_USDT=1' | ||
| build_options: '-DWITH_SQLITE=ON' | ||
| build_options: '-DENABLE_WALLET=ON -DWITH_SQLITE=ON' |
There was a problem hiding this comment.
Shouldn't WITH_SQLITE=ON imply ENABLE_WALLET? What (extra) does ENABLE_WALLET do here? I'm not sure we'll actually want to keep it as an option.
17f4870 to
6367599
Compare
Owner
Author
|
See #161 as a stage one of switching away from tri-state options. |
hebasto
added a commit
that referenced
this pull request
Apr 22, 2024
df4e46b cmake [KILL 3-STATE]: Switch `MULTIPROCESS` to boolean w/ default OFF (Hennadii Stepanov) 732b4e9 cmake [KILL 3-STATE]: Switch `WITH_ZMQ` to boolean w/ default OFF (Hennadii Stepanov) 5bfecf4 cmake [KILL 3-STATE]: Switch `WITH_MINIUPNPC` to boolean w/ default OFF (Hennadii Stepanov) a4d6a0c cmake [KILL 3-STATE]: Switch `WITH_NATPMP` to boolean w/ default OFF (Hennadii Stepanov) dc20cdf fixup! build: Generate `share/toolchain.cmake` in depends (Hennadii Stepanov) 63bbe26 cmake: Add CI-specific presets (Hennadii Stepanov) Pull request description: This PR partially pulled from #83 with options, which default values seem non-controversial. As a bonus, the help string duplication in `depends/toolchain.cmake.in` has been eliminated for the touched lines. The [**Autotools vs CMake Feature Parity Table**](https://gist.github.com/hebasto/2ef97d3a726bfce08ded9df07f7dab5e) has been updated as well. ACKs for top commit: vasild: ACK df4e46b Tree-SHA512: c1079b929944b0f7ca60436c12ee655c4235ada03ebace25d091ef0b938e3beb2f48beea529b7205cd8ecec9d7377e6b6d9e0368c8902dd6e06303cacbc4747f
Owner
Author
Closing this PR. Please review the following ones: |
hebasto
pushed a commit
that referenced
this pull request
Jul 26, 2025
c40dbbb test: Move `script_assets_tests` into its own suite (Hennadii Stepanov) Pull request description: This PR ensures that the `script_assets_tests` test case is explicitly reported as "Skipped" when it is not run, making it clearer when running the test suite with `ctest`: - on the master branch @ 9355578: ``` $ env -u DIR_UNIT_TEST_DATA ctest --test-dir build -j 16 -R "^script_" Internal ctest changing into directory: /home/hebasto/git/bitcoin/build Test project /home/hebasto/git/bitcoin/build Start 87: script_tests Start 83: script_p2sh_tests Start 85: script_segwit_tests Start 86: script_standard_tests Start 84: script_parse_tests 1/5 Test #84: script_parse_tests ............... Passed 0.11 sec 2/5 Test #86: script_standard_tests ............ Passed 0.11 sec 3/5 Test #85: script_segwit_tests .............. Passed 0.12 sec 4/5 Test #83: script_p2sh_tests ................ Passed 0.12 sec 5/5 Test #87: script_tests ..................... Passed 0.36 sec 100% tests passed, 0 tests failed out of 5 Total Test time (real) = 0.37 sec ``` - with this PR: ``` $ env -u DIR_UNIT_TEST_DATA ctest --test-dir build -j 16 -R "^script_" Internal ctest changing into directory: /home/hebasto/git/bitcoin/build Test project /home/hebasto/git/bitcoin/build Start 83: script_assets_tests Start 88: script_tests Start 84: script_p2sh_tests Start 86: script_segwit_tests Start 87: script_standard_tests Start 85: script_parse_tests 1/6 Test #85: script_parse_tests ............... Passed 0.11 sec 2/6 Test #83: script_assets_tests ..............***Skipped 0.12 sec 3/6 Test #86: script_segwit_tests .............. Passed 0.11 sec 4/6 Test #87: script_standard_tests ............ Passed 0.11 sec 5/6 Test #84: script_p2sh_tests ................ Passed 0.12 sec 6/6 Test #88: script_tests ..................... Passed 0.36 sec 100% tests passed, 0 tests failed out of 6 Total Test time (real) = 0.37 sec The following tests did not run: 83 - script_assets_tests (Skipped) $ env DIR_UNIT_TEST_DATA=/home/hebasto/git/bitcoin/qa-assets/unit_test_data ctest --test-dir build -j 16 -R "^script_" Internal ctest changing into directory: /home/hebasto/git/bitcoin/build Test project /home/hebasto/git/bitcoin/build Start 83: script_assets_tests Start 88: script_tests Start 84: script_p2sh_tests Start 86: script_segwit_tests Start 87: script_standard_tests Start 85: script_parse_tests 1/6 Test #85: script_parse_tests ............... Passed 0.11 sec 2/6 Test #87: script_standard_tests ............ Passed 0.11 sec 3/6 Test #86: script_segwit_tests .............. Passed 0.11 sec 4/6 Test #84: script_p2sh_tests ................ Passed 0.12 sec 5/6 Test #88: script_tests ..................... Passed 0.35 sec 6/6 Test #83: script_assets_tests .............. Passed 1.58 sec 100% tests passed, 0 tests failed out of 6 Total Test time (real) = 1.58 sec ``` ACKs for top commit: maflcko: re-ACK c40dbbb 👈 ajtowns: ACK c40dbbb achow101: ACK c40dbbb Tree-SHA512: 25713e1c3b507b6f2a5fecc7b1ea285a6642b906c248769238a58fc0df48489ac5f7606778f9e3653b407b7f1d06563e1554d04321303b350c80eb888500cc5d
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is a continuation of the today's (2024-01-25) discussion on the meeting.
It is supposed to be a place for the further discussion and making a decision regarding the default option values.
The
cmake-adjustedbranch is to be always synced with thecmake-stagingone.