With Qt 6 we want to provide more flexibility via leveraging a package manager in addition to Qt Online Installer. The new package manager functionality, based on conan.io (https://conan.io), allows providing more packages to the users without increasing the complexity of the baseline Qt. In addition to the packages provided by Qt, the package manager can be used for getting content from other sources.
Initially, we have three Additional Libraries provided via the package manager: Qt Network Authorization, Qt Image Formats, and Qt 3D. More Additional Libraries will be available in forthcoming Qt 6 releases. We are currently leveraging the existing Qt delivery system as thebackend for the Additional Libraries available via the package manager.
How the packages are managed?
The required tools, Conan, CMake, and Ninja, can be easily installed using theQt Online installer 4.0, which is going to be released soon.The Conan build recipesfor Additional Libraries require CMake and Ninja to build the module.The project linking to the modulecan be qmake-based as well.
Once installed, the selected Additional Librariescan be built once by using Conan per selected target configuration. After the build, the binary package is available in user’s local Conan cache, and can be linked to any other project.
Currently, Qt Online Installer exports the Additional Library packages (sources and build recipes) into the Conan cache. There is no Conan remote that hosts the Additional LibraryConan packages.
Like Qt 6.0, the current work is still in beta phase and all feedback is welcome. Note that currently the Conan profile files and build recipies for Android and iOS targets are being worked on. Also, the build recipes of the Additional Libraries are not part of the repositories yet. Once the build recipes are mature the plan is to move those into module repositories.
If you want to have a look already now, how the conanfile.py recipes look like,those can be found inthe Qt installation, under each module in “AdditionalLibraries/Qt/”.