Hi Ralf, Thanks for this perfect overview! I notice that Alkimia 5 should install its cmake files into .../cmake/LibAlkimia-5.0/..., everything else looks okay. The cmake files should be in seperate directories because cmake expects it that way.
However, we could rename the include directory into alkimia-6.0 (and -5.0). Then installing multiple versions is not an issue anymore. It is set by cmake anyway. Maybe it should be prefix/include/alkimia-6.0/alkimia/alkvalue.h. Then the includes could be #include <alkimia/alkvalue.h> and if needed someone could create a symlink prefix/include/alkimia -> prefix/include/alkimia-6.0. I will check how the frameworks are doing this. The /usr/local/lib64/libalkimia.so link should not be an issue. The distributions usually do not install it (except in -devel packages). Also the find_package() call ensures that the right libalkimia.so.* is selected (if a version is set). All other *.so* shared objects have unique names. About pkgconfig: Since pkgconfig has no support for multiple versions we could rename these files to /usr/local/lib64/pkgconfig/libalkimia-6.0.pc (and change the line "Libs: -lalkimia" to contain the so-version). Or is there another style for pkgconfig? Also I doubt that anybody is using it — it was used by the former FindAlkimia.cmake script, though. So we are probably save to drop it, all projects which use alkimia (KMyMoney, Kraft and Scrooge?!) should be cmake based. Greetings Christian Am Montag, 31. Oktober 2016, 12:52:49 schrieb Ralf Habacker: […] > > I would test it myself but have not enought time at the moment (and I do > > not have any KDE 4 installed anymore, so that would take some time). > > Thanks for your offer. I currently have both KDE4 available, so I can > check it by myself > > alkimia 6.0 installs > -- Installing: /usr/local/lib64/libalkimia.so.6.0.90 > -- Installing: /usr/local/lib64/libalkimia.so.6 > -- Installing: /usr/local/lib64/libalkimia.so > -- Installing: /usr/local/lib64/cmake/LibAlkimia-6.0/LibAlkimiaTargets.cmake > -- Installing: > /usr/local/lib64/cmake/LibAlkimia-6.0/LibAlkimiaTargets-noconfig.cmake > -- Installing: /usr/local/include/alkimia/alkvalue.h > -- Installing: /usr/local/include/alkimia/alkquoteitem.h > -- Installing: /usr/local/include/alkimia/alkcompany.h > -- Installing: /usr/local/include/alkimia/alk_export.h > -- Installing: /usr/local/lib64/cmake/LibAlkimia-6.0/LibAlkimiaConfig.cmake > -- Installing: > /usr/local/lib64/cmake/LibAlkimia-6.0/LibAlkimiaConfigVersion.cmake > -- Installing: /usr/local/lib64/cmake/LibAlkimia-6.0/FindGMP.cmake > -- Installing: /usr/local/lib64/pkgconfig/libalkimia.pc > > and alkimia 5.0 > -- Installing: /usr/local/lib64/libalkimia.so.5.0.0 > -- Installing: /usr/local/lib64/libalkimia.so.5 > -- Installing: /usr/local/lib64/libalkimia.so > -- Installing: /usr/local/lib64/cmake/LibAlkimia/LibAlkimiaTargets.cmake > -- Installing: > /usr/local/lib64/cmake/LibAlkimia/LibAlkimiaTargets-relwithdebinfo.cmake > -- Installing: /usr/local/include/alkimia/alkvalue.h > -- Installing: /usr/local/include/alkimia/alkquoteitem.h > -- Installing: /usr/local/include/alkimia/alkcompany.h > -- Installing: /usr/local/include/alkimia/alk_export.h > -- Installing: /usr/local/lib64/cmake/LibAlkimia/LibAlkimiaConfig.cmake > -- Installing: > /usr/local/lib64/cmake/LibAlkimia/LibAlkimiaConfigVersion.cmake > -- Installing: /usr/local/lib64/pkgconfig/libalkimia.pc > > I tried setting > > find_package(LibAlkimia 5.0.0 REQUIRED NO_MODULE) and got installed > version 5.0 > find_package(LibAlkimia 6.0.0 REQUIRED NO_MODULE) and got installed > version 6.0 > > which works as long as the cmake files are installed in separate > directories. > > But looking at the file lists above there are still file name conflicts > for include headers, pkg-config file and /usr/local/lib64/libalkimia.s*o** > > Ralf > *