1#/bin/bash 2set -e 3 4ROOTDIR="$(cd -P "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd )" 5 6function buildAndTest() { 7 if [[ ${1:0:1} == "#" ]] 8 then 9 echo "commented out, doing nothing: '$*'" 10 return 11 fi 12 13 if [[ $# -lt 3 ]] 14 then 15 echo "not correct number of args, doing nothing: '$*'" 16 return 17 fi 18 19 #NICE="nice -n20" 20 NICE="schedtool -5 -e" 21 22 ORIGINDIR=$(pwd) 23 24 COMPILER=$1 25 CXX_STANDARD=$2 26 SANITIZER=$3 27 CXXFLAGS=$4 28 29 DIRNAME=${COMPILER}_cxx${CXX_STANDARD}_sanitizer${SANITIZER}_${CXXFLAGS} 30 31 mkdir -p ${DIRNAME} 32 rm -f ${DIRNAME}/CMakeCache.txt 33 cd ${DIRNAME} 34 35 CXX=$(which ${COMPILER}) cmake -G Ninja -DCMAKE_CXX_FLAGS=${CXXFLAGS} -DCMAKE_BUILD_TYPE=Debug -DRH_cxx_standard=${CXX_STANDARD} -DRH_sanitizer=${SANITIZER} ${ROOTDIR} 36 ${NICE} cmake --build . -- -j 3 37 ${NICE} ./rh -ns -ts=show 38 ${NICE} ./rh -ns -ts=nanobench 39 ${NICE} ./rh 40 41 cd ${ORIGINDIR} 42} 43 44buildAndTest $* 45