travis.sh 1.28 KB
Newer Older
Billy Donahue's avatar
Billy Donahue committed
1
#!/usr/bin/env sh
Billy Donahue's avatar
Billy Donahue committed
2
set -evx
3

4
5
. ci/get-nprocessors.sh

6
7
8
9
# if possible, ask for the precise number of processors,
# otherwise take 2 processors as reasonable default; see
# https://docs.travis-ci.com/user/speeding-up-the-build/#Makefile-optimization
if [ -x /usr/bin/getconf ]; then
10
    NPROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
11
else
12
    NPROCESSORS=2
13
fi
14
15
16
17
18
19
20
21
22
# as of 2017-09-04 Travis CI reports 32 processors, but GCC build
# crashes if parallelized too much (maybe memory consumption problem),
# so limit to 4 processors for the time being.
if [ $NPROCESSORS -gt 4 ] ; then
	echo "$0:Note: Limiting processors to use by make from $NPROCESSORS to 4."
	NPROCESSORS=4
fi
# Tell make to use the processors. No preceding '-' required.
MAKEFLAGS="j${NPROCESSORS}"
23
24
export MAKEFLAGS

Billy Donahue's avatar
Billy Donahue committed
25
26
env | sort

27
28
29
30
31
# Set default values to OFF for these variables if not specified.
: "${NO_EXCEPTION:=OFF}"
: "${NO_RTTI:=OFF}"
: "${COMPILER_IS_GNUCXX:=OFF}"

Billy Donahue's avatar
Billy Donahue committed
32
mkdir build || true
Herbert Thielen's avatar
Herbert Thielen committed
33
cd build
Billy Donahue's avatar
Billy Donahue committed
34
35
36
cmake -Dgtest_build_samples=ON \
      -Dgtest_build_tests=ON \
      -Dgmock_build_tests=ON \
37
38
39
      -Dcxx_no_exception=$NO_EXCEPTION \
      -Dcxx_no_rtti=$NO_RTTI \
      -DCMAKE_COMPILER_IS_GNUCXX=$COMPILER_IS_GNUCXX \
deki's avatar
deki committed
40
      -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
41
      -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
Herbert Thielen's avatar
Herbert Thielen committed
42
      ..
43
make
44
CTEST_OUTPUT_ON_FAILURE=1 make test