[CMake] Using CMake/CPack to make RPMs

Eric Noulard eric.noulard at gmail.com
Thu Apr 30 10:38:13 EDT 2009


2009/4/30 David Flitney <flitney at fmrib.ox.ac.uk>:
> Thanks Bill and Eric,
> I've upgraded to 2.6 and can see the progress :-)
>
> One further question: how do I express dependencies? I'd like to require qt
>>= 3.3 for instance. Can I do this in CMakeLists.txt or will I need a custom
> spec.in file?

SET(CPACK_RPM_PACKAGE_REQUIRES "qt >= 3.3")
see
http://www.rpm.org/max-rpm/s1-rpm-depend-manual-dependencies.html
for more informations on the requirements syntax.

Normally all CPack RPM supported vars are documented there:
http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#CPack_RPM_generators_specific_variables

normally.... because the
CPACK_RPM_PACKAGE_REQUIRES was missing I've just added it.

If you have any doubt, do not hesitate to open
<cmake_install>/share/cmake-2.6/Modules/CPackRPM.cmake

this is the CMake script used by CPack RPM for building RPM,
all used variables are in there.

> On 30 Apr 2009, at 14:13, Eric Noulard wrote:
>
> Do you NEED to stick with CMake 2.4.x or can you afford the switch to 2.6.x?
>
> My only reason to stick with 2.4 was so as not to raise the bar again for my
> collaborators. They've gone with my recommendation of CentOS 5 which has 2.4
> out-the-box. But if it works then I'm happy to fix that problem myself :-)

What I wanted to say is that you may be able to update UseRPMTools.cmake
in order to fits your needs but it's far better to go to CMake 2.6.x.

Note however that CPack builting RPM does not currently build Source RPM
(whereas UseRPMTools.cmake was able to do it).

-- 
Erk


More information about the CMake mailing list