Am 31.10.2016 um 19:45 schrieb Christian David:
> 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.
yes
> 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
there are already some package doing so like gstreamer e.g gstreamer-1.0
and gstreamer-2.0
> Then 
> the includes could be #include <alkimia/alkvalue.h> 
yes
> and if needed someone could create a symlink prefix/include/alkimia -> 
> prefix/include/alkimia-6.0. 
This is not required if the include path is set in the
LibAlkimiaConfig.cmake is set to ${PACKAGE_PREFIX_DIR}/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). 
unfortunally this will result into a package system file conflict at
least with zypper on opensuse because it points to different targets.
> 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.
confirmed
> About pkgconfig: Since pkgconfig has no support for multiple versions we 
> could 
> rename these files to /usr/local/lib64/pkgconfig/libalkimia-6.0.pc
I did found pkgconfig file on my opensuse system having similar version
postfixes..
> (and change the line "Libs: -lalkimia" to contain the so-version).
not sure how to add a versioned library name here as the linker has some
internal logic to get real library name from the -l flag.
> Or is there another style for pkgconfig?  
I did not found any related spec at
https://people.freedesktop.org/~dbn/pkg-config-guide.html#writing
mentions. Samples only shows the usage of a number postfix like -lpng12
or -lpng16
> 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.
There is one left over issue which depends on how packages are created.
At least on opensuse creating a package named libAlkimia version 5.0
(e.g LibAlkimia-devel-5.0.rpm)  and version 6.0 (named
LibAlkimia-devel-6.0.rpm) are not coinstallable. Either the package with
version 5 or version 6 need to be have another name like LibAlkimia5 or
LibAlkimia6.
An alternative  would be to use the major version of the Qt version
alkimia depends on as postfix e.g. LibAlkimia-5.0 (Qt4) and
LibAlkimia5-6.0 (Qt5) Saying things it may be useful/required to use
that postfix also on other places discussed above.

Cheers
Ralf

Reply via email to