CMakeUserUseRPMTools: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 18: Line 18:
   ENDIF(RPMTools_FOUND)
   ENDIF(RPMTools_FOUND)


then you inherit 2 new top-level targets named
then if the necessary RPM building tools are found you inherit 2 new top-level (custom) targets named


* packagename_rpm
* packagename_rpm
* packagename_srpm
* packagename_srpm


you may call to build RPM or Source RPM.
you may call them to build binary or source RPM.


The macro generates a MINIMAL spec file, but if you want to tailor you own spec file you may provide one to the macro:
The macro generates a MINIMAL spec file, but if you want to tailor your handcrafted spec file you may provide one to the macro as a second argument:


   RPMTools_ADD_RPM_TARGETS(packagename ${CMAKE_SOURCE_DIR}/package.spec)
   RPMTools_ADD_RPM_TARGETS(packagename ${CMAKE_SOURCE_DIR}/package.spec)


You will get the same target but using your custom spec files.
You will get the same targets but using your custom spec files.


If your custom spec file need to be CONFIGUREd then name it with '''.in''' extension and the macro will process the file accordingly.
If your custom spec file need to be CONFIGUREd then name it with '''.in''' extension and the macro will process the file accordingly.

Revision as of 20:29, 14 June 2007

Back

Description

The UseRPMTools CMake module simplifies the RPM package generation using both CPack and CMake. It has been done because CPack does not have an RPM generator. This CMake macro is only useful for Linux systems using RPM packages (RedHat/Fedora, Mandriva, ...)

Usage

The usage is simple:

  • put the macro file "UseRPMTools.cmake" in your CMAKE_MODULE_PATH
  • Then add something like this to your CMakeLists.txt
  INCLUDE(CPack)
  INCLUDE(UseRPMTools)
  IF(RPMTools_FOUND)
     RPMTools_ADD_RPM_TARGETS(packagename)
  ENDIF(RPMTools_FOUND)

then if the necessary RPM building tools are found you inherit 2 new top-level (custom) targets named

  • packagename_rpm
  • packagename_srpm

you may call them to build binary or source RPM.

The macro generates a MINIMAL spec file, but if you want to tailor your handcrafted spec file you may provide one to the macro as a second argument:

  RPMTools_ADD_RPM_TARGETS(packagename ${CMAKE_SOURCE_DIR}/package.spec)

You will get the same targets but using your custom spec files.

If your custom spec file need to be CONFIGUREd then name it with .in extension and the macro will process the file accordingly.

  RPMTools_ADD_RPM_TARGETS(packagename ${CMAKE_SOURCE_DIR}/package.spec.in)

Back