mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 13:20:47 -06:00
Update our release scripts to fetch from the gitlab.kitware.com repository instead of the cmake.org repository. Revise our mapping of special branch names to account for the refs that now store them in the new repository.
159 lines
4.9 KiB
Bash
Executable File
159 lines
4.9 KiB
Bash
Executable File
#!/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 https://gitlab.kitware.com/cmake/cmake.git @CMAKE_CREATE_VERSION@
|
|
check_exit_value $? "git clone 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
|
|
@GIT_FETCH@
|
|
check_exit_value $? "git extra fetch" || 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
|