File indexing completed on 2026-04-09 07:49:05
0001
0002 usage(){ cat << EOU
0003 QBnd_test.sh
0004 =============
0005
0006 Via MOCK_TEXTURE and MOCK_CUDA switches this builds and
0007 runs CUDA code including texture lookups on the CPU via
0008 mocking of the texture handling.
0009
0010 EOU
0011 }
0012
0013 name=QBnd_test
0014 source $HOME/.opticks/GEOM/GEOM.sh
0015
0016 defarg="info_build_run_ana"
0017 arg=${1:-$defarg}
0018 export FOLD=/tmp/$name
0019 mkdir -p $FOLD
0020
0021 bin=$FOLD/$name
0022
0023 cuda_prefix=/usr/local/cuda
0024 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0025
0026 vars="BASH_SOURCE arg name GEOM FOLD CUDA_PREFIX OPTICKS_PREFIX"
0027
0028 if [ "${arg/info}" != "$arg" ]; then
0029 for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done
0030 fi
0031
0032 if [ "${arg/build}" != "$arg" ]; then
0033
0034 gcc $name.cc ../QBnd.cc ../QTex.cc ../QOptical.cc \
0035 -g -std=c++11 -lstdc++ \
0036 -DMOCK_TEXTURE \
0037 -DMOCK_CUDA \
0038 -I.. \
0039 -I$OPTICKS_PREFIX/include/SysRap \
0040 -I$CUDA_PREFIX/include \
0041 -o $bin
0042
0043 [ $? -ne 0 ] && echo $BASH_SOURCE : build error && exit 1
0044 fi
0045
0046 if [ "${arg/run}" != "$arg" ]; then
0047 $bin
0048 [ $? -ne 0 ] && echo $BASH_SOURCE : run error && exit 2
0049 fi
0050
0051
0052 if [ "${arg/dbg}" != "$arg" ]; then
0053 case $(uname) in
0054 Darwin) lldb__ $bin ;;
0055 Linux) gdb__ $bin ;;
0056 esac
0057 [ $? -ne 0 ] && echo $BASH_SOURCE : dbg error && exit 3
0058 fi
0059
0060
0061
0062 if [ "${arg/ana}" != "$arg" ]; then
0063 ${IPYTHON:-ipython} --pdb -i $name.py
0064 [ $? -ne 0 ] && echo $BASH_SOURCE : eun error && exit 4
0065 fi
0066
0067
0068
0069
0070
0071
0072 exit 0