-
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: 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... 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. |
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.
lgtm
Replaces multi-value
WITH_GUI
with booleanBUILD_GUI
as discussed during the recent call.The default value of the
BUILD_GUI
option 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).