release_cmake.sh.in 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. #!/bin/sh
  2. echo "Start release"
  3. date
  4. echo ""
  5. echo "remove and create working directory @CMAKE_RELEASE_DIRECTORY@"
  6. rm -rf @CMAKE_RELEASE_DIRECTORY@
  7. mkdir @CMAKE_RELEASE_DIRECTORY@
  8. check_exit_value()
  9. {
  10. VALUE="$1"
  11. if [ "$VALUE" != "0" ]; then
  12. echo "error in $2"
  13. exit 1
  14. fi
  15. }
  16. if [ ! -z "@CC@" ]; then
  17. export CC="@CC@"
  18. check_exit_value $? "set CC compiler env var" || exit 1
  19. fi
  20. if [ ! -z "@CXX@" ]; then
  21. export CXX="@CXX@"
  22. check_exit_value $? "set CC compiler env var" || exit 1
  23. fi
  24. if [ ! -z "@LDFLAGS@" ]; then
  25. export LDFLAGS="@LDFLAGS@"
  26. check_exit_value $? "set LDFLAGS env var" || exit 1
  27. fi
  28. if [ ! -z "@CFLAGS@" ]; then
  29. export CFLAGS="@CFLAGS@"
  30. check_exit_value $? "set CFLAGS env var" || exit 1
  31. fi
  32. if [ ! -z "@CXXFLAGS@" ]; then
  33. export CXXFLAGS="@CXXFLAGS@"
  34. check_exit_value $? "setCXXFLAGS env var" || exit 1
  35. fi
  36. if [ ! -z "@USER_MAKE_RULE_FILE_CONTENTS@" ]; then
  37. echo "@USER_MAKE_RULE_FILE_CONTENTS@" > "@USER_MAKE_RULE_FILE@"
  38. check_exit_value $? "Create User Rule file" || exit 1
  39. fi
  40. echo "Create a directory to build in"
  41. rm -rf @CMAKE_RELEASE_DIRECTORY@/@CMAKE_VERSION@-build
  42. check_exit_value $? "Remove build tree" || exit 1
  43. mkdir @CMAKE_RELEASE_DIRECTORY@/@CMAKE_VERSION@-build
  44. check_exit_value $? "Create build directory" || exit 1
  45. # make sure directory was created
  46. if [ ! -d @CMAKE_RELEASE_DIRECTORY@/@CMAKE_VERSION@-build ]; then
  47. echo "Could not create @CMAKE_RELEASE_DIRECTORY@/@CMAKE_VERSION@-build"
  48. exit -1
  49. fi
  50. echo "Create initial cache"
  51. echo "@INITIAL_CACHE@" > @CMAKE_RELEASE_DIRECTORY@/@CMAKE_VERSION@-build/CMakeCache.txt
  52. check_exit_value $? "Create initial cache" || exit 1
  53. #echo "Login into cvs."
  54. #echo "cmake" | @CVS_COMMAND@ -d @CVSROOT@ login
  55. echo "Checkout the source for @CMAKE_VERSION@"
  56. cd @CMAKE_RELEASE_DIRECTORY@
  57. @CMAKE_CHECKOUT@ -d @CMAKE_VERSION@ CMake
  58. check_exit_value $? "Checkout cmake source" || exit 1
  59. cd @CMAKE_RELEASE_DIRECTORY@/@CMAKE_VERSION@-build
  60. if [ ! -z "@CONFIGURE_WITH_CMAKE@" ]; then
  61. echo "Run cmake to configure cmake"
  62. @CMAKE_CONFIGURE_PATH@ ../@CMAKE_VERSION@
  63. check_exit_value $? "Configure cmake" || exit 1
  64. else
  65. echo "Run cmake bootstrap --parallel=@PROCESSORS@"
  66. ../@CMAKE_VERSION@/bootstrap --parallel=@PROCESSORS@
  67. check_exit_value $? "Bootstrap cmake" || exit 1
  68. fi
  69. echo "Build cmake with @MAKE@"
  70. @MAKE@
  71. check_exit_value $? "Build cmake" || exit 1
  72. if [ -z "@SKIP_TESTS@" ]; then
  73. echo "Run cmake tests"
  74. @MAKE@ test
  75. check_exit_value $? "Test cmake" || exit 1
  76. fi
  77. # loop over binary generators
  78. generators="@CPACK_BINARY_GENERATORS@"
  79. for GEN in $generators; do
  80. echo "Create $GEN package"
  81. ./bin/cpack -D CMAKE_MAKE_PROGRAM=@MAKE_PROGRAM@ -G $GEN
  82. check_exit_value $? "Create $GEN package" || exit 1
  83. done
  84. # loop over source generators
  85. generators="@CPACK_SOURCE_GENERATORS@"
  86. for GEN in $generators; do
  87. echo "Create $GEN package"
  88. ./bin/cpack -D CMAKE_MAKE_PROGRAM=@MAKE_PROGRAM@ -G $GEN --config CPackSourceConfig.cmake
  89. check_exit_value $? "Create $GEN package" || exit 1
  90. done
  91. # need to add an extra copy thing here
  92. if [ ! -z "@EXTRA_COPY@" ]; then
  93. @EXTRA_COPY@
  94. check_exit_value $? "Extra copy step @EXTRA_COPY@" || exit 1
  95. fi
  96. echo "End release"
  97. date
  98. echo ""
  99. exit 0