Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 1 | #!/usr/bin/env sh |
Billy Donahue | 520d30c | 2015-08-31 09:54:37 -0400 | [diff] [blame] | 2 | set -evx |
Herbert Thielen | d96a038 | 2017-09-04 18:19:06 +0200 | [diff] [blame] | 3 | |
Carlos O'Ryan | 75b85d5 | 2017-12-24 10:34:56 -0500 | [diff] [blame] | 4 | . ci/get-nprocessors.sh |
| 5 | |
Herbert Thielen | d96a038 | 2017-09-04 18:19:06 +0200 | [diff] [blame] | 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 |
| 9 | if [ -x /usr/bin/getconf ]; then |
Herbert Thielen | fe97312 | 2017-09-04 18:56:52 +0200 | [diff] [blame] | 10 | NPROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN) |
Herbert Thielen | d96a038 | 2017-09-04 18:19:06 +0200 | [diff] [blame] | 11 | else |
Herbert Thielen | fe97312 | 2017-09-04 18:56:52 +0200 | [diff] [blame] | 12 | NPROCESSORS=2 |
Herbert Thielen | d96a038 | 2017-09-04 18:19:06 +0200 | [diff] [blame] | 13 | fi |
Herbert Thielen | fe97312 | 2017-09-04 18:56:52 +0200 | [diff] [blame] | 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. |
| 17 | if [ $NPROCESSORS -gt 4 ] ; then |
| 18 | echo "$0:Note: Limiting processors to use by make from $NPROCESSORS to 4." |
| 19 | NPROCESSORS=4 |
| 20 | fi |
| 21 | # Tell make to use the processors. No preceding '-' required. |
| 22 | MAKEFLAGS="j${NPROCESSORS}" |
Herbert Thielen | d96a038 | 2017-09-04 18:19:06 +0200 | [diff] [blame] | 23 | export MAKEFLAGS |
| 24 | |
Billy Donahue | bbb54ef | 2015-08-31 02:19:39 -0400 | [diff] [blame] | 25 | env | sort |
| 26 | |
Scott Graham | 95ec42d | 2018-04-27 11:27:06 -0700 | [diff] [blame] | 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 | |
Billy Donahue | fbb0b96 | 2015-09-01 02:24:48 -0400 | [diff] [blame] | 32 | mkdir build || true |
Herbert Thielen | d33861d | 2017-08-29 17:41:26 +0200 | [diff] [blame] | 33 | cd build |
Billy Donahue | 6fc4905 | 2015-09-01 02:41:55 -0400 | [diff] [blame] | 34 | cmake -Dgtest_build_samples=ON \ |
Billy Donahue | 6fc4905 | 2015-09-01 02:41:55 -0400 | [diff] [blame] | 35 | -Dgtest_build_tests=ON \ |
| 36 | -Dgmock_build_tests=ON \ |
Scott Graham | 95ec42d | 2018-04-27 11:27:06 -0700 | [diff] [blame] | 37 | -Dcxx_no_exception=$NO_EXCEPTION \ |
| 38 | -Dcxx_no_rtti=$NO_RTTI \ |
| 39 | -DCMAKE_COMPILER_IS_GNUCXX=$COMPILER_IS_GNUCXX \ |
deki | 517b3bd | 2015-09-07 18:23:25 -0400 | [diff] [blame] | 40 | -DCMAKE_CXX_FLAGS=$CXX_FLAGS \ |
Herbert Thielen | cc246ec | 2017-08-30 11:59:36 +0200 | [diff] [blame] | 41 | -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ |
Herbert Thielen | d33861d | 2017-08-29 17:41:26 +0200 | [diff] [blame] | 42 | .. |
Billy Donahue | fefba42 | 2015-08-31 10:29:11 -0400 | [diff] [blame] | 43 | make |
Arkadiy Shapkin | 43c0ae3 | 2016-06-25 01:29:18 +0300 | [diff] [blame] | 44 | CTEST_OUTPUT_ON_FAILURE=1 make test |