-
Notifications
You must be signed in to change notification settings - Fork 37.7k
build: Make --with-gui=qt6
configure option available on macOS
#25191
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
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
In Qt 6, registration of `QDataStream` streaming operators is done automatically. Consequently, `qRegisterMetaTypeStreamOperators()` does no longer exist. Calls to this method have to be removed when porting to Qt 6. See https://doc.qt.io/qt-6/qtcore-changes-qt6.html
a232ae6
to
e944b0e
Compare
I'm not sure, ACK on |
The other part, having Qt 6 in depends, is in #24798. Building with dynamical linking against system Qt 6 on Linux does not look like a task worth taking on without CMake. |
Concept ~0. It feels like support for Qt6 is trying to be pushed into our codebase before it's ready / generally usable. I'm not sure why we need to add support, right now, for only a specific package manager, on a single OS. |
So it looks like macOS installs QT 6 by default if you do |
This has already been the case for more than a year: #21346.
We already do. https://github.com/bitcoin/bitcoin/blob/master/doc/build-osx.md#qt |
We do :) |
Ah ok, that might explain why I also have qt@5 on my system :-) Fortunately I have two macs, so I can test Having this PR open seems useful in any case, so we can avoid surprises when do decide to upgrade. On macOS 12.4 (Intel) with qt 6.3.0 via homebrew, my So far not issues running QT. Make deploy fails though:
Update 2022-06-06 found a glitch (at least in the |
🐙 This pull request conflicts with the target branch and needs rebase. Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft". |
CMake is going to make it much more elegant. |
This is another (however, not alternative; rather OS-specific) approach to bring Qt 6 to Bitcoin Core GUI users.
In Qt 6 most of the libraries are built as frameworks (by default), therefore, this PR is much less invasive and (I hope) less controversial then #24798.
To test this PR on macOS (both Intel-based and Apple Silicon) just
The other benefit of this PR is keeping our Qt code base compatible with Qt 6 due to the CI task which runs
--with-gui=qt6
.Documentation update and guarding calls which are deprecated in Qt 6 are left for follow ups to keep this PR focused on build stuff.
Based on multiple PRs in the GUI repo which get code base compatible with Qt 6, and only the last two commits belong to this PR.