2011/4/22 Rosen Diankov <rosen.dian...@gmail.com>: > Hi all, > > 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.
For Deb package did you try the CPACK_DEBIAN_PACKAGE_SHLIBDEPS ? set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) will make CPackDeb use dpkg-shlibdeps in order to find lib dependencies. > 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. You can already do "Generator" specific dependencies using a CPack project config file see: http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#Overall_usage_.28common_to_all_generators.29 This file is evaluated at cpack time, if you do match the distro name then you can already select the specific dependency yourself. An example on how to match distro name with "lsb_release" command or "/etc/issue" file is given in the attached script. -- Erk Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org
SystemSpecificInformations.cmake
Description: Binary data
_______________________________________________ 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