#!/usr/bin/env sh
 
set -evx
 
 
 
. ci/get-nprocessors.sh
 
 
 
# 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
 
    NPROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
 
else
 
    NPROCESSORS=2
 
fi
 
# 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}"
 
export MAKEFLAGS
 
 
 
env | sort
 
 
 
# Set default values to OFF for these variables if not specified.
 
: "${NO_EXCEPTION:=OFF}"
 
: "${NO_RTTI:=OFF}"
 
: "${COMPILER_IS_GNUCXX:=OFF}"
 
 
 
mkdir build || true
 
cd build
 
cmake -Dgtest_build_samples=ON \
 
      -Dgtest_build_tests=ON \
 
      -Dgmock_build_tests=ON \
 
      -Dcxx_no_exception=$NO_EXCEPTION \
 
      -Dcxx_no_rtti=$NO_RTTI \
 
      -DCMAKE_COMPILER_IS_GNUCXX=$COMPILER_IS_GNUCXX \
 
      -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
 
      -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
 
      ..
 
make
 
CTEST_OUTPUT_ON_FAILURE=1 make test