|
| 1 | +# This file activates CPack binary packaging for different distributions |
| 2 | +# At the moment we support only *UNIX systems (DEB, RPM, productbuild (MacOS), |
| 3 | +# and TGZ). |
| 4 | + |
| 5 | +IF (NOT DEFINED SAC2C_VERSION) |
| 6 | + MESSAGE (FATAL_ERROR "Sac2c Version not set!") |
| 7 | +ENDIF () |
| 8 | + |
| 9 | +IF (NOT DEFINED PROJECT_SHORT_VERSION) |
| 10 | + MESSAGE (FATAL_ERROR "WHDH:LSDFH") |
| 11 | +ENDIF () |
| 12 | + |
| 13 | +# By setting this on we can see where installation targets are specified via |
| 14 | +# absolute paths. XXX (???) For portability purposes this should be avoided. |
| 15 | +SET (CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION ON) |
| 16 | + |
| 17 | +IF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") |
| 18 | + SET (CPACK_GENERATOR "productbuild;TGZ") |
| 19 | +ELSE () |
| 20 | + SET (CPACK_GENERATOR "RPM;DEB;TGZ") |
| 21 | +ENDIF () |
| 22 | + |
| 23 | +# We create separate config files for different generators |
| 24 | +#set(CPACK_PROJECT_CONFIG_FILE "${PROJECT_SOURCE_DIR}/cmake/cpack_options.cmake") |
| 25 | + |
| 26 | +# Set default CPack Packaging options |
| 27 | +SET (CPACK_PACKAGE_NAME "sac-stdlib") |
| 28 | +SET (CPACK_PACKAGE_VENDOR "SaC Development Team") |
| 29 | +SET ( CPACK_PACKAGE_CONTACT "[email protected]") |
| 30 | +SET (CPACK_PACKAGE_VERSION "${PROJECT_SHORT_VERSION}") |
| 31 | +SET (CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_MAJOR_VERSION}") |
| 32 | +SET (CPACK_PACKAGE_VERSION_MINOR "${PROJECT_MINOR_VERSION}") |
| 33 | +SET (CPACK_PACKAGE_VERSION_PATCH "${PROJECT_PATCH_VERSION}") |
| 34 | +#SET (CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/cmake/sac_logo.png") |
| 35 | +SET (CPACK_MONOLITHIC_INSTALL TRUE) |
| 36 | +SET (CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") |
| 37 | + |
| 38 | +# SET (CPACK_PACKAGE_DESCRIPTION_FILE ...) |
| 39 | +SET (CPACK_PACKAGE_DESCRIPTION_SUMMARY "The standard library for a data-parallel array-based functional language SAC") |
| 40 | +# FIXME(artem) We need to decide on where do we put the stuff on the target system...) |
| 41 | +#SET (CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) |
| 42 | +SET (CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") |
| 43 | +SET (CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/cmake/cpack/README.txt") |
| 44 | +SET (CPACK_RESOURCE_FILE_WELCOME "${PROJECT_SOURCE_DIR}/cmake/cpack/WELCOME.txt") |
| 45 | + |
| 46 | +# Debian-specific variables |
| 47 | +SET (CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_PACKAGE_VENDOR} <${CPACK_PACKAGE_CONTACT}>") |
| 48 | +SET (CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR}) |
| 49 | +SET (CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) # non-functional? |
| 50 | +# FIXME Can we auto-generate these dependencies? |
| 51 | +SET (CPACK_DEBIAN_PACKAGE_DEPENDS "sac2c-compiler (= ${SAC2C_VERSION})") |
| 52 | + |
| 53 | +# RPM-specific variables |
| 54 | +# XXX (hans): this may not be exhaustive - does not take into account if the user |
| 55 | +# changes the install prefix |
| 56 | +SET (CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION /usr/local /usr/local/bin /usr/local/include /usr/local/lib /usr/local/libexec /usr/local/share) |
| 57 | +# FIXME Can we auto-generate these dependencies? |
| 58 | +STRING (REPLACE "-" "_" _sac2c_rpm_version ${SAC2C_VERSION}) |
| 59 | +SET (CPACK_RPM_PACKAGE_REQUIRES "sac2c-compiler = ${_sac2c_rpm_version}") # we don't need to go crazy here as rpmbuild handles most of this for us |
| 60 | + |
| 61 | +INCLUDE (CPack) |
| 62 | + |
| 63 | +# vim: ts=2 sw=2 et: |
0 commit comments