blob: 9ff3bad3eebcf2e6da93f58c0033d2ad6aceb4c1 [file] [log] [blame]
Austin Schuh889ac432018-10-29 22:57:02 -07001#!/usr/bin/env sh
2set -evx
3
4. ci/get-nprocessors.sh
5
6# if possible, ask for the precise number of processors,
7# otherwise take 2 processors as reasonable default; see
8# https://docs.travis-ci.com/user/speeding-up-the-build/#Makefile-optimization
9if [ -x /usr/bin/getconf ]; then
10 NPROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
11else
12 NPROCESSORS=2
13fi
14# as of 2017-09-04 Travis CI reports 32 processors, but GCC build
15# crashes if parallelized too much (maybe memory consumption problem),
16# so limit to 4 processors for the time being.
17if [ $NPROCESSORS -gt 4 ] ; then
18 echo "$0:Note: Limiting processors to use by make from $NPROCESSORS to 4."
19 NPROCESSORS=4
20fi
21# Tell make to use the processors. No preceding '-' required.
22MAKEFLAGS="j${NPROCESSORS}"
23export MAKEFLAGS
24
25env | sort
26
27# Set default values to OFF for these variables if not specified.
28: "${NO_EXCEPTION:=OFF}"
29: "${NO_RTTI:=OFF}"
30: "${COMPILER_IS_GNUCXX:=OFF}"
31
32mkdir build || true
33cd build
34cmake -Dgtest_build_samples=ON \
35 -Dgtest_build_tests=ON \
36 -Dgmock_build_tests=ON \
37 -Dcxx_no_exception=$NO_EXCEPTION \
38 -Dcxx_no_rtti=$NO_RTTI \
39 -DCMAKE_COMPILER_IS_GNUCXX=$COMPILER_IS_GNUCXX \
40 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
41 -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
42 ..
43make
44CTEST_OUTPUT_ON_FAILURE=1 make test