Build Qt on all platforms
I suggest that the Qt Frontend should be built on all platforms, not only Windows.
#1 Updated by ligfx almost 3 years ago
Three buildbots need Qt installed:
- Debian buildbot:
qtbase5-dev looks like the appropriate package. Debian Jessie has it at 5.3.2, Stretch and Sid have it at 5.7.1. It can also be installed manually (0.75GB).
- Ubuntu buildbot:
qtbase5-dev again looks right. Xenial has it at 5.5.1, Yakkety at 5.6.1, and Zesty and Artful have it at 5.7.1. It can also be installed manually (0.75GB).
- macOS buildbot: There are three options here: build Qt from source, get an installer .app directly from Qt (https://download.qt.io/archive/qt/5.8/5.8.0/qt-opensource-mac-x64-5.8.0.dmg, 1.3GB) and install to the user home directory, or install through Homebrew. Homebrew has the latest version, 5.9, but extra work is required to use it with CMake (either extra CMake params, manual symlinks, or editing some Qt files). See Homebrew/homebrew-core#8392.
One buildbot might need Qt updated:
- FreeBSD buildbot: Currently has Qt 5.4.1 installed. FreshPorts lists Qt 5.7.1.
There's big question here: what version of Qt do we require? Currently, DolphinQt won't compile on anything less than 5.6:
- MenuBar.cpp uses compile-time type-safety features added in Qt 5.6. This is the biggest issue IMO. The functionality can be implemented manually in a couple lines if needed, though ofc that's ugly.
- The attribute
AA_EnableHighDpiScaling was added in 5.6. This could be made optional with a simple
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0). Not compiling with this would change how DolphinQt2 looks on X11 on high-dpi displays, according to the docs.
- GameFile.cpp uses QDataStream for caching, and explicitly requests the Qt 5.5 binary format.