| #!/bin/sh |
| echo "Start release" |
| date |
| echo "" |
| echo "remove and create working directory @CMAKE_RELEASE_DIRECTORY@" |
| rm -rf @CMAKE_RELEASE_DIRECTORY@ |
| mkdir @CMAKE_RELEASE_DIRECTORY@ |
| @ENV@ |
| |
| check_exit_value() |
| { |
| VALUE="$1" |
| if [ "$VALUE" != "0" ]; then |
| echo "error in $2" |
| exit 1 |
| fi |
| } |
| |
| CMAKE_DOC_TARBALL="" |
| if [ ! -z "@CMAKE_DOC_TARBALL_NAME@" ] ; then |
| CMAKE_DOC_TARBALL=@CMAKE_RELEASE_DIRECTORY@/@CMAKE_DOC_TARBALL_NAME@ |
| mv "$HOME/@CMAKE_DOC_TARBALL_STAGED@" "$CMAKE_DOC_TARBALL" |
| check_exit_value $? "mv doc tarball" || exit 1 |
| fi |
| |
| if [ ! -z "@CC@" ]; then |
| export CC="@CC@" |
| check_exit_value $? "set CC compiler env var" || exit 1 |
| fi |
| |
| if [ ! -z "@FC@" ]; then |
| export FC="@FC@" |
| check_exit_value $? "set FC compiler env var" || exit 1 |
| fi |
| |
| if [ ! -z "@CXX@" ]; then |
| export CXX="@CXX@" |
| check_exit_value $? "set CC compiler env var" || exit 1 |
| fi |
| |
| if [ ! -z "@LDFLAGS@" ]; then |
| export LDFLAGS="@LDFLAGS@" |
| check_exit_value $? "set LDFLAGS env var" || exit 1 |
| fi |
| |
| if [ ! -z "@FFLAGS@" ]; then |
| export FFLAGS="@FFLAGS@" |
| check_exit_value $? "set FFLAGS env var" || exit 1 |
| fi |
| |
| if [ ! -z "@CFLAGS@" ]; then |
| export CFLAGS="@CFLAGS@" |
| check_exit_value $? "set CFLAGS env var" || exit 1 |
| fi |
| |
| if [ ! -z "@CXXFLAGS@" ]; then |
| export CXXFLAGS="@CXXFLAGS@" |
| check_exit_value $? "setCXXFLAGS env var" || exit 1 |
| fi |
| |
| if [ ! -z "@USER_MAKE_RULE_FILE_CONTENTS@" ]; then |
| echo "@USER_MAKE_RULE_FILE_CONTENTS@" > "@USER_MAKE_RULE_FILE@" |
| check_exit_value $? "Create User Rule file" || exit 1 |
| fi |
| echo "Create a directory to build in" |
| rm -rf @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build |
| check_exit_value $? "Remove build tree" || exit 1 |
| mkdir @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build |
| check_exit_value $? "Create build directory" || exit 1 |
| # make sure directory was created |
| if [ ! -d @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build ]; then |
| echo "Could not create @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build" |
| exit -1 |
| fi |
| |
| echo "Create initial cache" |
| echo "@INITIAL_CACHE@" > @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build/CMakeCache.txt |
| check_exit_value $? "Create initial cache" || exit 1 |
| |
| # create a user override file user.txt if USER_OVERRIDE is set, |
| # and append the cache variable to the cache |
| if [ ! -z "@USER_OVERRIDE@" ]; then |
| echo "@USER_OVERRIDE@" > @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build/user.txt |
| echo "CMAKE_USER_MAKE_RULES_OVERRIDE:FILEPATH=@CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build/user.txt" >> @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build/CMakeCache.txt |
| fi |
| |
| # Point build at pre-built documentation tarball, if any. |
| if [ ! -z "$CMAKE_DOC_TARBALL" ]; then |
| echo "CMAKE_DOC_TARBALL:FILEPATH=$CMAKE_DOC_TARBALL" >> @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build/CMakeCache.txt |
| fi |
| |
| echo "Checkout the source for @CMAKE_CREATE_VERSION@" |
| cd @CMAKE_RELEASE_DIRECTORY@ |
| if [ ! -z "@GIT_COMMAND@" ]; then |
| # clone the repo without creating any source files in the directory |
| # matching the branch being built (i.e. master CMake-2-8, etc) |
| @GIT_COMMAND@ clone -n git://cmake.org/cmake.git @CMAKE_CREATE_VERSION@ |
| check_exit_value $? "Checkout git cmake source" || exit 1 |
| # go into the git directory |
| cd @CMAKE_CREATE_VERSION@ |
| # run any extra commands if they exist |
| @GIT_EXTRA@ |
| check_exit_value $? "git extra cmake source" || exit 1 |
| # now checkout a copy on the local branch working |
| @GIT_COMMAND@ checkout -b working @GIT_BRANCH@ |
| check_exit_value $? "git checkout" || exit 1 |
| cd .. |
| else |
| echo GIT_COMMAND does not exist |
| exit 1 |
| fi |
| |
| cd @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build |
| |
| if [ ! -z "@CONFIGURE_WITH_CMAKE@" ]; then |
| echo "Run cmake to configure cmake" |
| @CMAKE_CONFIGURE_PATH@ ../@CMAKE_CREATE_VERSION@ |
| check_exit_value $? "Configure cmake" || exit 1 |
| else |
| echo "Run cmake bootstrap @BOOTSTRAP_ARGS@ --parallel=@PROCESSORS@" |
| ../@CMAKE_CREATE_VERSION@/bootstrap @BOOTSTRAP_ARGS@ --parallel=@PROCESSORS@ |
| check_exit_value $? "Bootstrap cmake" || exit 1 |
| fi |
| |
| echo "Build cmake with @MAKE@" |
| @MAKE@ |
| check_exit_value $? "Build cmake" || exit 1 |
| |
| if [ -z "@SKIP_TESTS@" ]; then |
| echo "Run cmake tests" |
| ./bin/ctest --output-on-failure -j @PROCESSORS@ @EXTRA_CTEST_ARGS@ |
| check_exit_value $? "Test cmake" || exit 1 |
| fi |
| |
| # loop over binary generators |
| generators="@CPACK_BINARY_GENERATORS@" |
| for GEN in $generators; do |
| echo "Create $GEN package" |
| ./bin/cpack -D CMAKE_MAKE_PROGRAM=@MAKE_PROGRAM@ -G $GEN |
| check_exit_value $? "Create $GEN package" || exit 1 |
| done |
| |
| # loop over source generators |
| generators="@CPACK_SOURCE_GENERATORS@" |
| for GEN in $generators; do |
| echo "Create $GEN package" |
| ./bin/cpack -D CMAKE_MAKE_PROGRAM=@MAKE_PROGRAM@ -G $GEN --config CPackSourceConfig.cmake |
| check_exit_value $? "Create $GEN package" || exit 1 |
| done |
| |
| |
| |
| echo "End release" |
| date |
| echo "" |
| exit 0 |