3.2.1.8.1 : Paramétrage des paquets binaires
Voici le createLinuxPackages.cmake : Fonction qui définie les différentes variables que CPack utilise pour générer des paquets (sur Ubuntu/Debian, Fedora et OSX) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# Commands to create debian package with cmake function(createLinuxPackages) if(NOT MODULE_MODE) set(CPACK_PACKAGE_NAME "${PROGRAM_NAME}" CACHE STRING "Name of the program") set(CPACK_PACKAGE_VERSION "${PROGRAM_VERSION}" CACHE STRING "Version of the program") set(CPACK_PACKAGE_VENDOR "Pierre Aubert" CACHE STRING "Vendor of the program") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROGRAM_DESCRIPTION_NO_QUOTE} CACHE STRING "Description of the program") set(CPACK_RESOURCE_FILE_README ${CMAKE_SOURCE_DIR}/README.md CACHE STRING "DOC of the program") set(CPACK_RESOURCE_FILE_WELCOME ${CMAKE_SOURCE_DIR}/README.md CACHE STRING "Welcome of the program") set(CPACK_PACKAGE_HOMEPAGE_URL ${PROGRAM_HOMEPAGE} CACHE STRING "Homepage of the program") set(CPACK_PACKAGE_CONTACT "pierre.aubert@lapp.in2p3.fr" CACHE STRING "Contact of the program") set(CPACK_PACKAGE_ICON ${CMAKE_SOURCE_DIR}/doc/icon.bmp CACHE STRING "Icon of the program") set(CPACK_PACKAGE_DESCRIPTION ${PROGRAM_DESCRIPTION_NO_QUOTE} CACHE STRING "Desription with quote of the program") if(CREATE_DEB) #Ok for UBUNTU set(CPACK_GENERATOR "DEB" CACHE STRING "Package type of the program") set(CPACK_DEBIAN_PACKAGE_VERSION "${PROGRAM_VERSION}" CACHE STRING "Version of the program") set(CPACK_DEBIAN_PACKAGE_MAINTAINER "pierre.aubert@lapp.in2p3.fr" CACHE STRING "Package maintainer of the program") #required set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${PROGRAM_HOMEPAGE} CACHE STRING "Homepage of the program") #For the debian installer only set(CPACK_DEBIAN_PACKAGE_DEPENDS "${PHOENIX_DEPENDS}" CACHE STRING "Depends of the program") endif(CREATE_DEB) if(CREATE_RPM) #Need to install rmp package on ubuntu which contains rpmbuild set(CPACK_GENERATOR "RPM" CACHE STRING "Package type of the program") set(CPACK_RPM_PACKAGE_VERSION "${PROGRAM_VERSION}" CACHE STRING "Version of the program") set(CPACK_RPM_PACKAGE_AUTOREQ "NO" CACHE STRING "Caracteristics of the program") set(CPACK_RPM_PACKAGE_REQUIRES "${PHOENIX_DEPENDS}" CACHE STRING "Depends of the program") set(LIBRARY_DIRECTORY "lib64" CACHE STRING "define the library directory (especially for Fedora with the wtf lib64)" FORCE) endif(CREATE_RPM) if(CREATE_DMG) #We should use DragNDrop or PackageMaker of osx set(CPACK_GENERATOR "DragNDrop") endif(CREATE_DMG) include(CPack) # Has to be used : # cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCREATE_DEB=yes -DSSE4.2=yes # Or whatever extension # make -j 8 # cpack endif() endfunction(createLinuxPackages) |
Le fichier createLinuxPackages.cmake complet :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# Commands to create debian package with cmake function(createLinuxPackages) if(NOT MODULE_MODE) set(CPACK_PACKAGE_NAME "${PROGRAM_NAME}" CACHE STRING "Name of the program") set(CPACK_PACKAGE_VERSION "${PROGRAM_VERSION}" CACHE STRING "Version of the program") set(CPACK_PACKAGE_VENDOR "Pierre Aubert" CACHE STRING "Vendor of the program") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROGRAM_DESCRIPTION_NO_QUOTE} CACHE STRING "Description of the program") set(CPACK_RESOURCE_FILE_README ${CMAKE_SOURCE_DIR}/README.md CACHE STRING "DOC of the program") set(CPACK_RESOURCE_FILE_WELCOME ${CMAKE_SOURCE_DIR}/README.md CACHE STRING "Welcome of the program") set(CPACK_PACKAGE_HOMEPAGE_URL ${PROGRAM_HOMEPAGE} CACHE STRING "Homepage of the program") set(CPACK_PACKAGE_CONTACT "pierre.aubert@lapp.in2p3.fr" CACHE STRING "Contact of the program") set(CPACK_PACKAGE_ICON ${CMAKE_SOURCE_DIR}/doc/icon.bmp CACHE STRING "Icon of the program") set(CPACK_PACKAGE_DESCRIPTION ${PROGRAM_DESCRIPTION_NO_QUOTE} CACHE STRING "Desription with quote of the program") if(CREATE_DEB) #Ok for UBUNTU set(CPACK_GENERATOR "DEB" CACHE STRING "Package type of the program") set(CPACK_DEBIAN_PACKAGE_VERSION "${PROGRAM_VERSION}" CACHE STRING "Version of the program") set(CPACK_DEBIAN_PACKAGE_MAINTAINER "pierre.aubert@lapp.in2p3.fr" CACHE STRING "Package maintainer of the program") #required set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${PROGRAM_HOMEPAGE} CACHE STRING "Homepage of the program") #For the debian installer only set(CPACK_DEBIAN_PACKAGE_DEPENDS "${PHOENIX_DEPENDS}" CACHE STRING "Depends of the program") endif(CREATE_DEB) if(CREATE_RPM) #Need to install rmp package on ubuntu which contains rpmbuild set(CPACK_GENERATOR "RPM" CACHE STRING "Package type of the program") set(CPACK_RPM_PACKAGE_VERSION "${PROGRAM_VERSION}" CACHE STRING "Version of the program") set(CPACK_RPM_PACKAGE_AUTOREQ "NO" CACHE STRING "Caracteristics of the program") set(CPACK_RPM_PACKAGE_REQUIRES "${PHOENIX_DEPENDS}" CACHE STRING "Depends of the program") set(LIBRARY_DIRECTORY "lib64" CACHE STRING "define the library directory (especially for Fedora with the wtf lib64)" FORCE) endif(CREATE_RPM) if(CREATE_DMG) #We should use DragNDrop or PackageMaker of osx set(CPACK_GENERATOR "DragNDrop") endif(CREATE_DMG) include(CPack) # Has to be used : # cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCREATE_DEB=yes -DSSE4.2=yes # Or whatever extension # make -j 8 # cpack endif() endfunction(createLinuxPackages) |