cmake_release_unix_package.sh 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #!/bin/sh
  2. #
  3. # CMake UNIX Release Script.
  4. #
  5. # Run this in the directory where cmake_release_unix_build was run.
  6. #
  7. # Find our own script's location.
  8. SELFPATH=`cd \`echo $0 | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
  9. # Read the configuration.
  10. . ${SELFPATH}/cmake_release_unix_config.sh
  11. # Cleanup from possible previous run.
  12. rm -rf ${INSTALL_DIR} ${TARBALL_DIR}
  13. mkdir -p ${INSTALL_DIR} ${TARBALL_DIR}
  14. # Run the installation.
  15. cd ${BUILD_DIR}
  16. echo "Running make install ${INSTALL_OPTIONS}..."
  17. if ${MAKE} install ${INSTALL_OPTIONS} > ${LOG_DIR}/make_install.log 2>&1 ; then : ; else
  18. echo "Error, see ${LOG_DIR}/make_install.log"
  19. exit 1
  20. fi
  21. # Strip the executables.
  22. echo "Stripping executables..."
  23. if ${STRIP} ${INSTALL_DIR}${PREFIX}/bin/* \
  24. > ${LOG_DIR}/strip.log 2>&1 ; then : ; else
  25. echo "Error, see ${LOG_DIR}/strip.log"
  26. exit 1
  27. fi
  28. # Make the source tarball if requested.
  29. if test "${CREATE_SOURCE_TARBALL}" = "yes" ; then
  30. (
  31. cd ${RELEASE_ROOT}
  32. TARBALL="${TARBALL_DIR}/${SOURCE_TARBALL_NAME}.tar"
  33. echo "Creating ${SOURCE_TARBALL_NAME}.tar"
  34. if ${TAR} cvf $TARBALL CMake-$VERSION \
  35. > ${LOG_DIR}/${SOURCE_TARBALL_NAME}.log 2>&1 ; then : ; else
  36. echo "Error, see ${LOG_DIR}/${SOURCE_TARBALL_NAME}.log"
  37. exit 1
  38. fi
  39. if test "x${GZIP}" != "x" ; then
  40. echo "Creating $TARBALL.gz"
  41. ${GZIP} -c $TARBALL > $TARBALL.gz
  42. fi
  43. if test "x${COMPRESS}" != "x" ; then
  44. echo "Creating $TARBALL.Z"
  45. ${COMPRESS} $TARBALL
  46. fi
  47. )
  48. fi
  49. # Let the configuration file add some files.
  50. cd ${BUILD_DIR}
  51. CreateExtraFiles
  52. # Create the manifest file.
  53. echo "Writing MANIFEST..."
  54. ${MKDIR} -p ${INSTALL_DIR}${PREFIX}${DOC_DIR}
  55. ${TOUCH} ${INSTALL_DIR}${PREFIX}${DOC_DIR}/MANIFEST
  56. cd ${INSTALL_DIR}${PREFIX}
  57. FILES=`${FIND} ${INSTALL_SUBDIRS} -type f |sed 's/^\.\///'`
  58. ${CAT} >> ${INSTALL_DIR}${PREFIX}${DOC_DIR}/MANIFEST <<EOF
  59. ${FILES}
  60. EOF
  61. # Allow the configuration to create package files if it wants to do so.
  62. CreatePackage
  63. # Create the release tarballs.
  64. INTERNAL_NAME="cmake-$VERSION-$PLATFORM-files"
  65. echo "Creating ${INTERNAL_NAME}.tar"
  66. cd ${INSTALL_DIR}${PREFIX}
  67. if ${TAR} cvf ${INSTALL_DIR}/${INTERNAL_NAME}.tar ${INSTALL_SUBDIRS} \
  68. > ${LOG_DIR}/${INTERNAL_NAME}.log 2>&1 ; then : ; else
  69. echo "Error, see ${LOG_DIR}/${INTERNAL_NAME}.log"
  70. exit 1
  71. fi
  72. echo "Writing README"
  73. cd ${INSTALL_DIR}
  74. ${CAT} >> README <<EOF
  75. CMake $VERSION binary for $PLATFORM
  76. Extract the file "${INTERNAL_NAME}.tar" into your destination
  77. directory (typically /usr/local). The following files will be
  78. extracted:
  79. ${FILES}
  80. EOF
  81. TARBALL="${TARBALL_DIR}/CMake$VERSION-$PLATFORM.tar"
  82. echo "Creating CMake$VERSION-$PLATFORM.tar"
  83. if ${TAR} cvf $TARBALL README ${INTERNAL_NAME}.tar \
  84. > ${LOG_DIR}/CMake$VERSION-$PLATFORM.log 2>&1 ; then : ; else
  85. "Error, see ${LOG_DIR}/CMake$VERSION-$PLATFORM.log"
  86. exit 1
  87. fi
  88. if test "x${GZIP}" != "x" ; then
  89. echo "Creating $TARBALL.gz"
  90. ${GZIP} -c $TARBALL > $TARBALL.gz
  91. fi
  92. if test "x${COMPRESS}" != "x" ; then
  93. echo "Creating $TARBALL.Z"
  94. ${COMPRESS} $TARBALL
  95. fi