CMakeUserUseDebian: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(fix link to UseDebian.cmake)
Line 17: Line 17:
==Usage==
==Usage==
The usage is simple:
The usage is simple:
* put the macro file "[http://gdcm.svn.sourceforge.net/viewvc/*checkout*/gdcm/CMake/UseDebian.cmake UseDebian.cmake]" in your CMAKE_MODULE_PATH, as well as [http://gdcm.svn.sourceforge.net/viewvc/*checkout*/gdcm/CMake/FindMd5sum.cmake FindMd5sum.cmake] (until cmake -E can do md5sum [http://public.kitware.com/pipermail/cmake/2007-April/013629.html ref]).
* put the macro file "[http://gdcm.svn.sourceforge.net/viewvc/gdcm/trunk/CMake/UseDebian.cmake?view=markup UseDebian.cmake]" in your CMAKE_MODULE_PATH, as well as [http://gdcm.svn.sourceforge.net/viewvc/*checkout*/gdcm/CMake/FindMd5sum.cmake FindMd5sum.cmake] (until cmake -E can do md5sum [http://public.kitware.com/pipermail/cmake/2007-April/013629.html ref]).
* Then add something like this to your CMakeLists.txt
* Then add something like this to your CMakeLists.txt



Revision as of 18:31, 16 February 2008

Back

DEPRECATED

The information on this page will soon be deprecated as there is an on progress work being done to include deb support directly in cpack.

Ref:

Description

The UseDebian CMake module simplifies the Debian package generation using both CPack and CMake. It has been done because CPack does not have an deb generator. This CMake macro can be used anywhere ar is available (no debian specific tool are required). http://www.itk.org/Wiki/index.php?title=CMakeUserUseDebian&action=edit&section=1

Usage

The usage is simple:

  • put the macro file "UseDebian.cmake" in your CMAKE_MODULE_PATH, as well as FindMd5sum.cmake (until cmake -E can do md5sum ref).
  • Then add something like this to your CMakeLists.txt
 IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
   SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Grass Root DiCoM")
   SET(CPACK_PACKAGE_VENDOR "gdcm")
   SET(CPACK_PACKAGE_VERSION_MAJOR "${GDCM_VERSION_MAJOR}")
   SET(CPACK_PACKAGE_VERSION_MINOR "${GDCM_VERSION_MINOR}")
   SET(CPACK_PACKAGE_VERSION_PATCH "${GDCM_VERSION_BUILD}")
   SET(CPACK_PACKAGE_INSTALL_DIRECTORY "gdcm ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
   SET(CPACK_SOURCE_PACKAGE_FILE_NAME "gdcm-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
   # List executables
   INCLUDE(CPack)
 ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")

 INCLUDE(UseDebian)
 IF(DEBIAN_FOUND)
  ADD_DEBIAN_TARGETS(GDCM)
 ENDIF(DEBIAN_FOUND)

This CMake macro was inspired from UseRPMTools.

Debian

To inspect your deb file:

 $ dpkg-deb -c gdcm_1.2.0-1_i386.deb 

 $ dpkg-deb -f gdcm_1.2.0-1_i386.deb

 tar: Read 8192 bytes from -
 Package: gdcm
 Version: 1.2.0
 Section: devel
 Priority: optional
 Architecture: i386
 Depends: libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12)
 Maintainer:
 Description: Grass Root DiCoM
  .
  gdcm was packaged by UseDebian and CMake.
  .

Errors

If you are getting a:

"CMake Error: Md5sum_DIR is not set.  It must be set to the directory containing Md5sumConfig.cmake in order to use Md5sum."

This is mostly beause you did:

include(../CMake/UseDebian.cmake)

instead of setting the CMAKE_MODULE_PATH. Indeed the UseDebian.cmake rely on another cmake script: FindMd5sum.cmake which need to be found by cmake !

Derived work

Mehdi Rabah (at INRIA) reworked the cmake debian module:

Reference

Back