Skip to content

only build QML with Qt6#4412

Closed
Be-ing wants to merge 1 commit intomixxxdj:mainfrom
Be-ing:qml_qt6
Closed

only build QML with Qt6#4412
Be-ing wants to merge 1 commit intomixxxdj:mainfrom
Be-ing:qml_qt6

Conversation

@Be-ing
Copy link
Copy Markdown
Contributor

@Be-ing Be-ing commented Oct 13, 2021

This will allow us to use new features in Qt6 without worrying
about compatibility with Qt5.

Prerequisites:

@Be-ing Be-ing marked this pull request as draft October 13, 2021 16:10
@Holzhaus
Copy link
Copy Markdown
Member

Let's please not merge this unless we actually have an open PR that depends on a Qt6-only feature that we urgently need and can't be dealt with using a QT_VERSION_CHECK.

@github-actions github-actions bot added the build label Oct 13, 2021
@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Oct 13, 2021

I do not care to check whether every new feature is compatible with Qt5. I will not waste my time continuing to develop the QML GUI with Qt5.

We need CI setup with Qt6 before we can merge this though.

@Holzhaus
Copy link
Copy Markdown
Member

I do not care to check whether every new feature is compatible with Qt5. I will not waste my time continuing to develop the QML GUI with Qt5.

I do not care to reconfigure/rebuild mixxx all the time if I want to switch between QML/Qt6 development and regular mixxx development without any good reason. I will not waste my time continuing to develop the QML GUI with Qt6 only when it's completely unnecessary to drop Qt5 support at this point and just drastically worsen the developer experience. There are so many tasks that you can start working on right now without any issues, I just don't get why this is needed.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Oct 13, 2021

I do not care to reconfigure/rebuild mixxx all the time if I want to switch between QML/Qt6 development and regular mixxx development without any good reason.

Thanks to your work switching to CMake, this is not a problem. Just keep a separate build directory for Qt6. This is what I am doing now and it works well.

@Holzhaus
Copy link
Copy Markdown
Member

It's still much less convenient than just adding the --qml argument to the command line. And it requires Qt6 to be installed, a second build dir, cd'ing around all the time, etc.
I'm not denying that it may be necessary to drop Qt5 support at some point, but I don' t understand why you needlessly want to raise the bar for contributing to QML now.

QML has its own versioning and is backwards compatible. So unless you absolutely need a certain feature only available in Qt6, just use QtQuick 2.12 (=Qt 5.12) to 2.15 (=Qt 5.15) and it will also work with Qt6.

If you have a particular PR that is too complicated to implement with Qt5 support we can consider merging this, but until then I really don't see a reason why we'd should make development less convenient.

@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Oct 13, 2021

it requires Qt6 to be installed

So? Qt6 is packaged in most distros now. If not, it's not hard to build. I built Qt 6.0 the day it was released.

cd'ing around all the time

This is not required. I have a build (Qt5) and a qt6 directory at the root of my mixxx repository. It is trivial to switch between them. It is simply a matter of running

cmake --build build

or

cmake --build qt6

This will allow us to use new features in Qt6 without worrying
about compatibility with Qt5.
@Be-ing
Copy link
Copy Markdown
Contributor Author

Be-ing commented Oct 17, 2021

If you have a particular PR that is too complicated to implement with Qt5 support

#4448

@Be-ing Be-ing closed this Oct 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants