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
