problems compiling 4.8 on system with both qt4 and qt5

Ralf Habacker ralf.habacker at freenet.de
Tue Oct 18 06:39:40 UTC 2016


Am 18.10.2016 um 02:29 schrieb Jack:
> On 2016.10.17 02:44, Ralf Habacker wrote:
>> Am 17.10.2016 um 00:52 schrieb Jack:
>> > Something Alan sent me made me look and think it might have been
>> > because alkimia was compiled with qt5, but I'm no longer sure about
>> that.
>> alkimia >= 5.0.0 fetches Qt5 dependencies into a project using it. You
>> need to revert alkimia to  version <= 4.3.2. Another option would be to
>> (re)add Qt4 support to recent alkimia.
>>
>> Ralf
>>
> Well, that does explain it.  I have two versions, but both are too
> recent.
>
> I think re-adding Qt4 support would be good.  Unfortunately, we're not
> quite ready to be completely without it yet, so I suspect it might be
> the least painful option.
>
> Is that something easily done with a change to CMakeLists.txt, or is
> it more involved?
If you do not need to coinstall Qt4 variant along with Qt5 this need to
be done:

1. add a cmake configure option e.g. BUILD_QT4 or similar to enable
building for Qt4.
2. find Qt4 instead of Qt5
3. replace references to Qt5 by related Qt4 ones
3.1. all CMakeLists.txt e.g. Qt5::Core by Qt4::QtCore and similar
3.2. in src/LibAlkimiaConfig.cmake.in (see find_dependency)
3.3. in src/libalkimia.pc.in (replace reference to Qt5Core, Qt5DBus by
QtCore, QtDBus)

To have a Qt4 based binary package coinstalled with Qt5 the following
stuff need to be changed too:
4. Install cmake configuration files into different sub dir  (Qt5:
LibAlkimia-<version>)  e.g.  LibAlkimiaQt4-<version>
5. Create different pkgconfig file e.g. libalkimiaQt4.pc or similar
6. Create different libalkimia shared object file  e.g.
libalkimia-qt4.so.xxx using set_target_properties (... OUTPUT_NAME)
7. Install header files into a separate sub dir to not be overwritten by
Qt5 installation e.g. /usr/include/alkimia-qt4 or similar (there may be
a distribution standard for that, I don't know)

8. Patch kmymoney in branch 4.8 to use the Qt4 alkimia version.

Ralf


More information about the KMyMoney-devel mailing list