CMakeUserUseRPMTools: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 14: Line 14:
   INCLUDE(CPack)
   INCLUDE(CPack)
   INCLUDE(UseRPMTools)
   INCLUDE(UseRPMTools)
      IF(RPMTools_FOUND)
  IF(RPMTools_FOUND)
       RPMTools_ADD_RPM_TARGETS(packagename)
       RPMTools_ADD_RPM_TARGETS(packagename)
   ENDIF(RPMTools_FOUND)
   ENDIF(RPMTools_FOUND)

Revision as of 20:27, 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 you inherit 2 new top-level targets named

  • packagename_rpm
  • packagename_srpm

you may call to build RPM 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:

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

You will get the same target 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