Qt 6.2.4 packages for the Conan package manager

Qt 6.2.4 Conan Technology Preview packages are now available via the Conan package manager from our Conan server. Desktop packages are available for Windows (MSVC2019 and MinGW), macOS, and Linux.

Conan is the open-source, decentralized, and multi-platform package manager to create and share native binaries for C/C++. Our long term goal has been to support installing and/or building Qt modules "in the package manager way" via Conan.

What are the benefits of using the Conan package manager for Qt?

  • You consume/download exactly what you need. Qt Conan packages are modularized so you can use only the modules your project really needs (qtbase, qtcharts, qtserialport, ..).
  • You tell your direct dependencies and Conan (package manager) will take care of the rest i.e. dependencies and their exact versions.
  • Should your project depend on yet another library too? You can utilize other packages as well using Conan in your project from a larger ecosystem: Conan center: OpenSSL, Protobuf, CMake, Boost, sqlite3, zlib, ..
  • Didn't find the binaries/build configuration you needed? Just edit the provided build profiles for your needs and pass "--build" and Conan will build everything you need from sources (provided you have compilation tools in your environment). The built binaries are stored in your local Conan cache, from where the binaries can be then easily re-used.
  • Conan caches the binaries locally so additional installations are faster.

How to get started?

Install Conan from here. Using the latest version is preferred (1.47).

To get access to our Conan packages, go to the "Conan Package Manager" page in Qt Account to generate your personal credentials for the Conan server.

Add the remote to your local configuration:

$ conan remote add qt https://qtpkgtest.jfrog.io/artifactory/api/conan/qt

Authenticate to our server:

$ conan user -p PASSWORD -r qt USERNAME

What dependencies your project has?

my_app_deps.txt:
[requires]
qtbase/6.2.4@qt/everywhere
qtdeclarative/6.2.4@qt/everywhere

# you can access the release build configurations / build profiles:
$ conan install qtbuildprofiles/6.2.4@qt/everywhere --remote=qt
# After installation e.g. on Linux desktop use linux-x86_64-gcc 

Install the needed Qt packages + create a virtualenv script to access those:

$ conan install my_app_deps.txt --profile=linux-x86_64-gcc --update --generator=virtualenv --remote=qt
 # wait for the installation to complete ...
$ source activate.sh  # on windows run the activate.bat
# build your app
$ cd <my app dir>
$ cmake CMakeLists.txt
$ cmake --build .
# run your app

conan_demo_app_build

Please see more details provided here.

Future plans

There are still bits and pieces we need to fix to support cross-building fully. With prior Qt Conan 6.x Tech Preview releases we published e.g. Android packages but those were not fully usable yet. This work continues. The Boot2Qt support is also in the works.

With Qt Conan 6.2.3 Tech Preview release we included ICU as the first 3rd party package which is a dependency for qtbase (If Qt is configured with 'icu' support). This is also available in Qt 6.2.4 Conan Technology Preview.

CMake, Ninja, OpenSSL, libpng, libjpeg, and many other 3rd party Conan packages are planned to be integrated into Qt Conan packages depending on the build configuration. This means Conan will take care of installing these for you as dependencies, as the package managers do.


Your feedback is valuable!

We are interested to hear how Qt Conan packages would fit in your workflow? I.e. using Qt "the package manager way". Any of the following feedback channels can be used: 

  • Please let us know your thoughts in this blog post comments.
  • Please use Qt Bug Tracker to file bugs and suggestions. Please use the component Conan to allow easy filtering.
  • Please fill in a mini-survey as well and tell us, what you think about Conan and your Conan needs shortly.



 


Blog Topics:

Comments