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
> *

Reply via email to