[Development] Qt6/Qt5 coinstallability (Linux distributions)
thiago.macieira at intel.com
Tue Nov 13 23:56:29 CET 2018
On Tuesday, 13 November 2018 13:43:20 PST Lisandro Damián Nicanor Pérez Meyer
> a) Qt 5 and Qt 6 binaries should be coinstalable both in a developer
> (libraries + binaries + build tools) and in a user's (only required
> libraries and binaries) perspective. For example: a user should not need
> qmake to be present.
This does not apply for "application" executables that retain backwards
compatibility functionality. There's no need to version linguist, designer,
assistant or qdbus, qdbusviewer, so long as those applications can still be
used while developing Qt 5 applications.
The other extreme are development tools that almost never need to be run
directly by directly the user, at all. That's the case for rcc, uic, moc,
lupdate, lrelease, qmlcachegen, etc. Those should not be in the $bindir in the
first place: they should live in $libexecdir and ought to be found by way of
the .cmake and .pc files, as in:
pkg-config --variable=libexecdir Qt6Core
That only leaves front-end tools that are intricately tied to the Qt version
that need renaming. The only two I can think of that fits this description are
the "qml" and "qmlscene" pair. If we're feeling nice, we can do it too for
diagnostic tools, like qtdiag, qtpaths, qtplugininfo.
And then there's qmake. I'd really love if it were a backwards-compatible tool
that worked for both Qt 5 and 6. It's unlikely to happen, since choosing the
Qt version has always been done by selecting the proper qmake. So I imagine it
will be one of the renamed ones.
$ ls -1 `qmake -qt5-installed -query QT_INSTALL_BINS`
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Development