-
Notifications
You must be signed in to change notification settings - Fork 185
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
Switch to Qt 6 as the default #2805
Conversation
clang-tidy review says "All clean, LGTM! 👍" |
a759a67
to
4aefa8f
Compare
It seems that Qt 6 requires a CMake version >= 3.21 on Apple platforms (see here), so we will need set this on the CI workflow for MacOS. |
Qt 6 requires a CMake >=3.21 for Apple platforms
clang-tidy review says "All clean, LGTM! 👍" |
@MRtrix3/mrtrix3-devs Unless anyone has any objections, I will merge this soon into dev. |
I think it makes sense to make Qt6 the default. |
This may require revision of online documentation for building from source. Don't know if there's external precedent with respect to setting boolean values in environment variables; for command-line options we support "yes/no" and "true/false". Alternatively with (Or, as can happen with some other aspects of building, it could make an attempt to build with Qt6, and then re-try with Qt5 if the former fails; though maybe with the
Depends on the magnitude of maintenance burden. Right now I don't know that there'd be any major benefit to removing support; perhaps if there were larger developments happening in the visualisation space and compatibility was getting in the way it would make sense to deprecate then. But I've not tracked the Qt6 issue so I may be overlooking something. |
Good point, I will update the instructions we have.
I think specifying boolean values (or "options" in CMake world) is idiomatic when using CMake, but I agree it would indeed make sense to have
Generally, I agree. One downside I considered was that if Qt 6 becomes the default, we will no longer test our builds with Qt 5 so essentially this will become an untested path. |
Instead of the default being MRTRIX_USE_QT6=ON, now we have MRTRIX_USE_QT5=OFF
clang-tidy review says "All clean, LGTM! 👍" |
Personally, I'm happy to remove support for Qt5 for |
We are currently building our GUI commands using Qt5 by default. This PR switches the build (and hence also the CI workflows) to use Qt 6 instead. Once merged, an explicit
-DMRTRIX_USE_QT6=OFF
will be required to use Qt 5.On a related note, should we remove support for building with Qt 5?