release_cmake.sh.in 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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 "@FC@" ]; then
  21. export FC="@FC@"
  22. check_exit_value $? "set FC compiler env var" || exit 1
  23. fi
  24. if [ ! -z "@CXX@" ]; then
  25. export CXX="@CXX@"
  26. check_exit_value $? "set CC compiler env var" || exit 1
  27. fi
  28. if [ ! -z "@LDFLAGS@" ]; then
  29. export LDFLAGS="@LDFLAGS@"
  30. check_exit_value $? "set LDFLAGS env var" || exit 1
  31. fi
  32. if [ ! -z "@FFLAGS@" ]; then
  33. export FFLAGS="@FFLAGS@"
  34. check_exit_value $? "set FFLAGS env var" || exit 1
  35. fi
  36. if [ ! -z "@CFLAGS@" ]; then
  37. export CFLAGS="@CFLAGS@"
  38. check_exit_value $? "set CFLAGS env var" || exit 1
  39. fi
  40. if [ ! -z "@CXXFLAGS@" ]; then
  41. export CXXFLAGS="@CXXFLAGS@"
  42. check_exit_value $? "setCXXFLAGS env var" || exit 1
  43. fi
  44. if [ ! -z "@USER_MAKE_RULE_FILE_CONTENTS@" ]; then
  45. echo "@USER_MAKE_RULE_FILE_CONTENTS@" > "@USER_MAKE_RULE_FILE@"
  46. check_exit_value $? "Create User Rule file" || exit 1
  47. fi
  48. echo "Create a directory to build in"
  49. rm -rf @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build
  50. check_exit_value $? "Remove build tree" || exit 1
  51. mkdir @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build
  52. check_exit_value $? "Create build directory" || exit 1
  53. # make sure directory was created
  54. if [ ! -d @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build ]; then
  55. echo "Could not create @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build"
  56. exit -1
  57. fi
  58. echo "Create initial cache"
  59. echo "@INITIAL_CACHE@" > @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build/CMakeCache.txt
  60. check_exit_value $? "Create initial cache" || exit 1
  61. #echo "Login into cvs."
  62. #echo "cmake" | @CVS_COMMAND@ -d @CVSROOT@ login
  63. echo "Checkout the source for @CMAKE_CREATE_VERSION@"
  64. cd @CMAKE_RELEASE_DIRECTORY@
  65. @CMAKE_CHECKOUT@ -d @CMAKE_CREATE_VERSION@ CMake
  66. check_exit_value $? "Checkout cmake source" || exit 1
  67. cd @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build
  68. if [ ! -z "@CONFIGURE_WITH_CMAKE@" ]; then
  69. echo "Run cmake to configure cmake"
  70. @CMAKE_CONFIGURE_PATH@ ../@CMAKE_CREATE_VERSION@
  71. check_exit_value $? "Configure cmake" || exit 1
  72. else
  73. if [ -z "@INSTALL_PREFIX@" ]; then
  74. echo "Run cmake bootstrap --parallel=@PROCESSORS@"
  75. ../@CMAKE_CREATE_VERSION@/bootstrap --parallel=@PROCESSORS@
  76. check_exit_value $? "Bootstrap cmake" || exit 1
  77. else
  78. echo "Run cmake bootstrap --prefix=@INSTALL_PREFIX@ --parallel=@PROCESSORS@"
  79. ../@CMAKE_CREATE_VERSION@/bootstrap --prefix=@INSTALL_PREFIX@ --parallel=@PROCESSORS@
  80. check_exit_value $? "Bootstrap cmake" || exit 1
  81. fi
  82. fi
  83. echo "Build cmake with @MAKE@"
  84. @MAKE@
  85. check_exit_value $? "Build cmake" || exit 1
  86. if [ -z "@SKIP_TESTS@" ]; then
  87. echo "Run cmake tests"
  88. @MAKE@ test
  89. check_exit_value $? "Test cmake" || exit 1
  90. fi
  91. # loop over binary generators
  92. generators="@CPACK_BINARY_GENERATORS@"
  93. for GEN in $generators; do
  94. echo "Create $GEN package"
  95. ./bin/cpack -D CMAKE_MAKE_PROGRAM=@MAKE_PROGRAM@ -G $GEN
  96. check_exit_value $? "Create $GEN package" || exit 1
  97. done
  98. # loop over source generators
  99. generators="@CPACK_SOURCE_GENERATORS@"
  100. for GEN in $generators; do
  101. echo "Create $GEN package"
  102. ./bin/cpack -D CMAKE_MAKE_PROGRAM=@MAKE_PROGRAM@ -G $GEN --config CPackSourceConfig.cmake
  103. check_exit_value $? "Create $GEN package" || exit 1
  104. done
  105. # need to add an extra copy thing here
  106. if [ ! -z "@EXTRA_COPY@" ]; then
  107. @EXTRA_COPY@
  108. check_exit_value $? "Extra copy step @EXTRA_COPY@" || exit 1
  109. fi
  110. echo "End release"
  111. date
  112. echo ""
  113. exit 0