I work on it, and I hope I can show some results today.

06.11.2013 2:18 пользователь "Pier Luigi" <pierluigi.fiorini@gmail.com> написал:
>
> 2013/10/24 Александр Соколов <sokoloff.a@gmail.com>:
> > I want to discuss policy of naming and keeping versions our libraries for
> > Qt4 and Qt5.
> >
> > In most cases user have only one version of the Qt library, Qt4 or Qt5. But
> > some cases user can have both Qt4 and Qt5. And he may wants to have 2
> > version of our libs, for Qt4 and for Qt5.
> >
> > For programmer which use our library, library is a 3 parts: headers files,
> > cmake files and .so librariy. I'm using qtxdg as example, but it's same for
> > all other our libs.
> >
> > 1. The headers.
> > With headers all is easy. Our API don't depending of Qt version so we have
> > only one instance of headers files.
>
> OK
>
> > 2. The .so file
> > But ABI depending of Qt version. So we should to have 2 version of .so
> > files.
>
> I Agree.
I renamed qtxdg to xdgqt4 and xdgqt5. One hand we have backward compatability with razor - razor users can use libqtxdg but lxqt can use xdgqt with different API/ABI.
>
> > 2.1  Should we allways add prefix or postfix for libraries, some like
> > libqtxdg_qt4.so and libqtxdg_qt5.so or something.
>
> I would do what poppler does and have libqtxdg-qt4.so and
> libqtxdg-qt5.so installed under /usr/lib.
>
> [cut]
>
> > 3. The cmake files.
> > If programmer's system have only one Qt, we can autodetect version of Qt (I
> > hope). But what we should to do if both Qt are installed?
>
> Autodetect sounds more complicated, for users that can support both Qt
> 4 and Qt 5 it's just a matter of:
>
> if(USE_QT5)
>   find_package(Qt5Xdg REQUIRED)
> else()
>   find_package(Qt4Xdg REQUIRED)
> endif()
>
> Projects that rely on either Qt 4 or Qt 5 will just have only one
> find_package() line.
>
> If you export targets we might export the same target, for example
> QtXdg for the both libraries if we want to save users from some
> typing.
>
>
> --
> Out of the box experience
> http://www.maui-project.org/