CMakeUserUseDebian: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 9: Line 9:
==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).
* 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]).
* Then add something like this to your CMakeLists.txt
* Then add something like this to your CMakeLists.txt



Revision as of 12:13, 19 June 2007

Back

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).

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()
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.
 .

Reference

Back