blob: f41bda89540003af89bb75f9ba908647a0a064ab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
#!/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
}
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_NAME@" "$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
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 --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
# 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
|