[ismrmrd] 68/177: add support for cpack
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Wed Jan 14 20:02:03 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to annotated tag v1.1.0.beta.1
in repository ismrmrd.
commit 9bb1f3bbc439ceb5119a5869af8cc1c0ff9f6898
Author: Ghislain Antony Vaillant <ghisvail at gmail.com>
Date: Sat Sep 20 23:08:33 2014 +0100
add support for cpack
- to build a binary package: make package
- to build a source package: make package_source
---
CMakeLists.txt | 19 +++++++++++++++++--
cmake/cpack_options.cmake.in | 33 +++++++++++++++++++++++++++++++++
cmake/ismrmrd_cpack.cmake | 28 ++++++++++++++++++++++++++++
3 files changed, 78 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1a7b331..62cb5f0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,8 +1,12 @@
cmake_minimum_required(VERSION 2.8)
project(ISMRMRD)
-# add project specific cmake find modules
-list(APPEND CMAKE_MODULE_PATH cmake)
+# set project specific cmake module path
+set (ISMRMRD_CMAKE_DIR ${PROJECT_SOURCE_DIR}/cmake CACHE PATH
+ "Location of CMake scripts")
+
+# and include it to the search list
+list(APPEND CMAKE_MODULE_PATH ${ISMRMRD_CMAKE_DIR})
# set the build type to Release if not specified
IF(NOT CMAKE_BUILD_TYPE)
@@ -138,3 +142,14 @@ enable_testing()
#add_subdirectory(doc)
#add_subdirectory(matlab)
#add_subdirectory(bindings)
+
+# Create package
+string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
+include(${ISMRMRD_CMAKE_DIR}/ismrmrd_cpack.cmake)
+if(CPACK_GENERATOR)
+ message(STATUS "Found CPack generators: ${CPACK_GENERATOR}")
+ configure_file("${ISMRMRD_CMAKE_DIR}/cpack_options.cmake.in"
+ ${ISMRMRD_CPACK_CFG_FILE} @ONLY)
+ set(CPACK_PROJECT_CONFIG_FILE ${ISMRMRD_CPACK_CFG_FILE})
+ include (CPack)
+endif()
diff --git a/cmake/cpack_options.cmake.in b/cmake/cpack_options.cmake.in
new file mode 100644
index 0000000..66c82b9
--- /dev/null
+++ b/cmake/cpack_options.cmake.in
@@ -0,0 +1,33 @@
+################################################################################
+# Metadata for package generators
+################################################################################
+
+# Common options
+set(CPACK_PACKAGE_VERSION "@ISMRMRD_VERSION_STRING@")
+set(CPACK_PACKAGE_VERSION_MAJOR "@ISMRMRD_VERSION_MAJOR@")
+set(CPACK_PACKAGE_VERSION_MINOR "@ISMRMRD_VERSION_MINOR@")
+set(CPACK_PACKAGE_VERSION_PATCH "@ISMRMRD_VERSION_PATCH@")
+set(CPACK_PACKAGE_NAME "@PROJECT_NAME@")
+set(CPACK_PACKAGE_VENDOR "https://sourceforge.net/p/ismrmrd")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "ISMRM Raw Data Format (ISMRMRD)")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "@PROJECT_NAME_LOWER@")
+set(CPACK_RESOURCE_FILE_LICENSE "@CMAKE_CURRENT_SOURCE_DIR@/LICENSE")
+set(CPACK_RESOURCE_FILE_README "@CMAKE_CURRENT_SOURCE_DIR@/README.html")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "@CMAKE_CURRENT_SOURCE_DIR@/README.html")
+set(CPACK_PACKAGE_MAINTAINER "Michael S. Hansen <michael.hansen at nih.gov>")
+set(CPACK_PACKAGE_CONTACT "Michael S. Hansen <michael.hansen at nih.gov>")
+
+# DEB specific
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "@DEBIAN_PACKAGE_DEPENDS@")
+set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
+set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
+set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
+set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Implementation of the ISMRMRD format.")
+
+# RPM specific
+set(CPACK_RPM_PACKAGE_REQUIRES "@RPM_PACKAGE_DEPENDS@")
+set(CPACK_RPM_PACKAGE_DESCRIPTION "Implementation of the ISMRMRD format.")
+
+# Output filename of the generated tarball / package
+set(CPACK_PACKAGE_FILE_NAME "@PROJECT_NAME_LOWER at -@ISMRMRD_VERSION_STRING@")
+set(CPACK_SOURCE_PACKAGE_FILE_NAME "@PROJECT_NAME_LOWER at -@ISMRMRD_VERSION_STRING@")
diff --git a/cmake/ismrmrd_cpack.cmake b/cmake/ismrmrd_cpack.cmake
new file mode 100644
index 0000000..de94909
--- /dev/null
+++ b/cmake/ismrmrd_cpack.cmake
@@ -0,0 +1,28 @@
+################################################################################
+# Find available package generators
+################################################################################
+
+if(UNIX)
+ # DEB
+ find_program(DPKG_PROGRAM dpkg)
+ if(EXISTS ${DPKG_PROGRAM})
+ list(APPEND CPACK_GENERATOR "DEB")
+ endif(EXISTS ${DPKG_PROGRAM})
+ # RPM
+ find_program(RPMBUILD_PROGRAM rpmbuild)
+ if(EXISTS ${RPMBUILD_PROGRAM})
+ list(APPEND CPACK_GENERATOR "RPM")
+ endif(EXISTS ${RPMBUILD_PROGRAM})
+endif(UNIX)
+
+list(APPEND CPACK_SOURCE_GENERATOR "TGZ")
+list(APPEND CPACK_SOURCE_GENERATOR "ZIP")
+list(APPEND CPACK_SOURCE_IGNORE_FILES ";.git;.gitignore;todo.txt;_clang-format;build/")
+
+# set dependencies explictly
+include(InstallRequiredSystemLibraries)
+set(DEBIAN_PACKAGE_DEPENDS "libhdf5-dev")
+set(RPM_PACKAGE_DEPENDS "hdf5-devel")
+
+# where the package metadata are
+set(ISMRMRD_CPACK_CFG_FILE "${PROJECT_BINARY_DIR}/cpack_options.cmake")
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ismrmrd.git
More information about the debian-science-commits
mailing list