#!/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@ check_exit_value() { VALUE="$1" if [ "$VALUE" != "0" ]; then echo "error in $2" 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 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 origin/@GIT_BRANCH@ check_exit_value $? "git checkout" || exit 1 cd .. else # for CVS just run the CMAKE_CHECKOUT command as set # in release_cmake.cmake @CMAKE_CHECKOUT@ check_exit_value $? "CVS Checkout cmake source" || 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 if [ -z "@INSTALL_PREFIX@" ]; then echo "Run cmake bootstrap --parallel=@PROCESSORS@" ../@CMAKE_CREATE_VERSION@/bootstrap --parallel=@PROCESSORS@ check_exit_value $? "Bootstrap cmake" || exit 1 else echo "Run cmake bootstrap --prefix=@INSTALL_PREFIX@ --parallel=@PROCESSORS@" ../@CMAKE_CREATE_VERSION@/bootstrap --prefix=@INSTALL_PREFIX@ --parallel=@PROCESSORS@ check_exit_value $? "Bootstrap cmake" || exit 1 fi 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 -j @PROCESSORS@ test 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 # need to add an extra copy thing here if [ ! -z "@EXTRA_COPY@" ]; then @EXTRA_COPY@ check_exit_value $? "Extra copy step @EXTRA_COPY@" || exit 1 fi echo "End release" date echo "" exit 0