QCustomPlot -- follow-up
Filippo Rusconi
lopippo at debian.org
Mon Sep 26 15:21:56 BST 2022
Greetings Science Debianites,
in one previous mail, I had said that I thought it was desirable to have the
QCustomPlot library built against Qt6 in the next stable release and also
updated to version 2.1.0 (current is 2.0.1).
The rdepends of qcustomplot package:
% apt-cache rdepends libqcustomplot-dev
Reverse Depends:
science-mathematics-dev
% apt-cache rdepends libqcustomplot2.0
Reverse Depends:
libqcustomplot-dev
* xtpcpp
wsjtx
wfview
traceshark
js8call
polyphone
nageru
* msxpertsuite-minexpert
* minexpert2
xtrx-fft
* libpappsomspp-widget0
The asterisks indicate packages I own or co-maintain.
I thus started packaging the library and tried to modernize the CMake-based
configuration system. In CMake >3.15, there are now functions than handle
automagically the creation of the <package>Config.cmake list file for
relocatable packages and other goodies.
I initially tried to keep the "qcustomplot" name for the library and went on
with the CMake modernization. But then, I discovered that the library alias that
should be used by the developers linking to this library is created by the CMake
system as QCustomPlot::qcustomplot, which does not correspond to what would be
expected in the Qt::Qt realm.
Because there is going to be a transition for this library switch from 2.0 to
2.1 anyway, I thought this repackaging was the ideal occasion to change the
library name to more resemble the actual name of the library: QCustomPlot, which
is more in the likes of QtCore, QtWidgets and other QtNetwork.
In the new packaging, I strived to keep things similar to the previous CMake
configuration for the build under Qt5. The library that is built now is
libQCustomPlot and libQCustomPlotQt6 for Qt5- and Qt6-based builds
Thanks to this name change, the users of the library will thus very easily
select the library of interest in the likes of:
target_link_library(<TARGET> QCustomPlot::QCutstomPlot)
(unchanged with respect to previous version)
or
target_link_library(<TARGET> QCustomPlotQt6::QCutstomPlotQt6)
Does this sound reasonable to you ?
I have pushed a qt5-and-qt6 branch in the salsa repos:
https://salsa.debian.org/science-team/qcustomplot/-/tree/qt5-and-qt6
The packages I have built on my testing system allowed me to build a Qt6-based
library using in turn the QCustomPlot6 library.
Would you like to comment about the above, about the transition process or about
anything else?
Thank you for your kind attention,
Sincerely,
Filippo
P.S. By the way, if there is some DD that is experienced in transitions, it
would be good to know as it appears to me that this is a tricky subject :-)
--
⢀⣴⠾⠻⢶⣦⠀ Filippo Rusconi, PhD
⣾⠁⢠⠒⠀⣿⡁ Research scientist at CNRS
⢿⡄⠘⠷⠚⠋⠀ Debian Developer
⠈⠳⣄⠀⠀⠀⠀ http://msxpertsuite.org
http://www.debian.org
More information about the debian-science-maintainers
mailing list