Hi Guys,

You are right about shlibdeps, but this is not the whole story.

Debian source packages required "build dependencies" to be
preinstalled before cmake even runs. This tells each distribution what
it needs so that cmake can find it with find_package.

Afterwards, it isn't necessary to specify all the dependencies since
they can be extracted from the symbols of the shared objects
(dpkg-shlibdeps). However, there are cases where the symbols are not
used, but it is still required.

For example, I have a program that generates c++ files once it is
called. This program requires g++ to be present, or otherwise it will
not work. Therefore g++ is a runtime dependency, but there are no g++
symbols in the program.

About Eric's suggestion with "Generator"  specific dependencies, this
is not necessary for our application at the moment. What we want is
for a specific generator, to have "distribution" specific
dependencies.

thank you,
rosen,

2011/4/22 Eric Noulard <[email protected]>:
> 2011/4/22 Rolf Eike Beer <[email protected]>:
>>> We've recently started generating (debian) packages with CPack and
>>> discovered that handling library dependencies for particular
>>> distributions was not as smooth as it can be. The *_DEPENDS string
>>> just gets copied over to the final package so it puts all the burden
>>> on the user side to manage what distribution's dependencies get
>>> enabled.
>>>
>>> Instead, can we have something similar to how build-type-dependent
>>> libraries work out? For example, a library string can be set according
>>> to:
>>>
>>> set(LIBRARY debug mylibraryd optimized mylibrary)
>>>
>>> And joining multiple library strings will take care of organizing the
>>> dependencies. In the same way, it would be cool if we can specify
>>> distribution dependencies that way:
>>>
>>> set(*DEPENDS ubuntu mylib3-dev debian mylib-devel)
>>>
>>> Then depending on the distribution type the user sets, the correct
>>> dependencies can be selected.
>>
>> There are not that many binary package formats out there. Since we already 
>> know the absolute path of the libraries we depend on (since the 
>> find_package() things found them) we could feed them through "rpm -qf" or 
>> whatever meets that on Debian based systems. Then you automatically have the 
>> correct package names no matter how the distros decide to call them.
>
> That should be what dpkg-shlibdeps does for Debian.
>
> The usage of rpm -qf is not used by CPackRPM but it would be a nice
> contribution :-]
>
> --
> Erk
> Membre de l'April - « promouvoir et défendre le logiciel libre » -
> http://www.april.org
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at 
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: 
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to