Repository Summary
Checkout URI | https://github.com/swri-robotics/qt_metapackages.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2018-10-26 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
libqt_concurrent | 1.0.1 |
libqt_core | 1.0.1 |
libqt_dev | 1.0.1 |
libqt_gui | 1.0.1 |
libqt_network | 1.0.1 |
libqt_opengl | 1.0.1 |
libqt_opengl_dev | 1.0.1 |
libqt_svg_dev | 1.0.1 |
libqt_widgets | 1.0.1 |
qt_qmake | 1.0.1 |
README
Qt Metapackages
This repository contains ROS metapackages that are useful for depending on the right version of Qt depending on which distribution of ROS you are using.
Justification
ROS Indigo and earlier use Qt 4, but
ROS Kinetic and later on Ubuntu 16.04 and
later use Qt 5. It is possible to write your CMakeLists.txt and C++ code in
such a way that they are compatible with both versions of Qt, the lack of
conditional dependencies in the
Catkin package.xml format means
that you cannot have a single package.xml
file that depends only on Qt 4
when building for ROS Indigo and Qt 5 when building for ROS Kinetic. In some
cases, depending on qt_gui_cpp is sufficient,
but that may include dependencies you do not want, and there are many Qt
libraries that it does not include.
This has lead to many packages with separate branches for Indigo and post-Indigo
development in which the only meaningful differences are in the package.xml
files, and keeping these branches synchronized is annoying and error-prone.
The metapackages provided by this repository depend on rosdep keys for each platform that in turn depend on the appropriate Qt packages for that platform so that your package can have a single branch that works for every ROS distribution.
Usage
Just depend on the metapackage for the Qt library you want in your package.xml
.
When running on Ubuntu 14.04 / ROS Indigo, it will transitively depend on the
equivalent Qt 4 package. When running in Ubuntu 16.04 / ROS Kinetic or later,
it will transitively depend on the equivalent Qt 5 package.