cmake: Switch from tri-state options to boolean. Stage FIVE. The GUI#173
Conversation
9fee4d0 to
1b26d5b
Compare
1b26d5b to
9a99b72
Compare
9a99b72 to
52e7193
Compare
|
Rebased. |
f60968f to
ed3c58e
Compare
|
Rebased to resolve conflicts. |
|
Would you mind splitting this up into 2 commits: 1 for the logical change, and 1 for the rename to BUILD_GUI? That would make it easier to review imo. |
Done. |
|
Rebased. |
| if(NOT WITH_GUI AND "@no_qt@" STREQUAL "1") | ||
| set(WITH_GUI OFF CACHE STRING "Build GUI.") | ||
| # Set configuration options for the main build system. | ||
| if("@no_qt@") |
There was a problem hiding this comment.
I wonder if we should depart from upstream/master behavior for all of these options to be more CMake-like?
(I'm not just referring to qt here, but all depends options)
What if depends doesn't turn anything on by default? Meaning.. quit forwarding any meaning from built packages into Core's build. So, you can build depends with any set of packages/options, but that doesn't turn anything just on by using the generated toolchain file.
That way, if I build depends with qt, I still have to specify WITH_GUI in order to get bitcoin-qt. Conversely, if I build depends with NO_QT and build with WITH_GUI, that would be an error.
There was a problem hiding this comment.
... to be more CMake-like?
In the future, CMake can manage all dependencies using its own modules like ExternalProject or FetchContent.
448132a fixup! cmake, doc: Update `build-freebsd.md` (Hennadii Stepanov) 9bafc55 fixup! cmake, doc: Update `build-osx.md` (Hennadii Stepanov) a0a98ff fixup! cmake, docs: Update MSVC build docs (Hennadii Stepanov) Pull request description: This PR amends build docs according the discussion in #167 where there were agreed to use modern cmake invocations. Simplifies #173 and #177. ACKs for top commit: vasild: ACK 448132a Tree-SHA512: cf49f258b6f65098603a0e33ec2a3f11665d83ee87efe3fc11ff59a2a92ba798c4e127896052cf934b0fcabbbfa6a87c880341458b0c12cfbc7b7a4465f9c413
Also docs and CI scripts have been updated.
|
Rebased, which made the last commit simpler. |
Replaces multi-value
WITH_GUIwith booleanBUILD_GUIas discussed during the recent call.The default value of the
BUILD_GUIoption isOFF.Documentation has been adjusted.
While touching build docs, they were amended to use modern CMake invocations according to discussion in #167 (should be trivial to review though).