dir_name=`pwd`; INSTALL_G4=/home/frankm/SW/g4_10.01.p02_dbg/lib/Geant4-10.1.2; INSTALL_LCIO=/home/frankm/SW/lcio/v02-04-03; INSTALL_XERCESC=/home/frankm/SW/xercesc; export ROOTSYS=/home/frankm/SW/root_v5.34.25_dbg; . ${ROOTSYS}/bin/thisroot.sh; # LINE="===================================================================================================" # make_output() { echo "${LINE}"; echo "${LINE}"; echo "=============================== `pwd` "; echo "${LINE}"; echo "${LINE}"; if test -n "${1}"; then echo " +++++ ${1}"; fi; if test -n "${2}"; then echo " +++++ ${2}"; fi; } make_opt() { if test "$1" = "ON"; then arg="${2}=${1}";shift;shift; echo ${arg} $*; #else # echo ${1}; fi; } make_build() { echo ${CMD}; eval ${CMD}; if [ $? -ne 0 ]; then make_output "DANGER WILL ROBINSON DANGER!" "++++ Failed CMAKE command:" echo ${CMD}; exit 1 fi make -j 5 install; if [ $? -ne 0 ]; then make_output "DANGER WILL ROBINSON DANGER!" "++++ Failed BUILD:" echo ${CMD}; exit 1 fi; make test; if [ $? -ne 0 ]; then make_output "DANGER WILL ROBINSON DANGER!" "++++ Failed TESTS:" echo ${CMD}; #exit 1 fi; } for DOGEANT4 in OFF ON; do for DOXERCESC in OFF ON; do for DOGEAR in OFF; do for DOLCIO in OFF ON; do folder=build_Xer${DOXERCESC}_Geant${DOGEANT4}_Gear${DOGEAR}_Lcio${DOLCIO} WORK_DIR=${dir_name}/${folder}; mkdir -p ${WORK_DIR}/EX; cd ${WORK_DIR}; make_output; #-DDD4HEP_DEBUG_CMAKE=ON \ DD4hep_DIR=`pwd`/DD4hep; OPTS="`make_opt ${DOGEANT4} -DDD4HEP_USE_GEANT4 -DGeant4_DIR=${INSTALL_G4}`\ `make_opt ${DOLCIO} -DDD4HEP_USE_LCIO -DLCIO_DIR=${INSTALL_LCIO}` \ `make_opt ${DOXERCESC} -DDD4HEP_USE_XERCESC -DXERCESC_ROOT_DIR=${INSTALL_XERCESC}` \ -DCMAKE_INSTALL_PREFIX=${DD4hep_DIR}"; CMD="cd ${dir_name}/$folder ; cmake ${OPTS} ../../../DD4hep.trunk/checkout;"; make_build; CMD="cd ${WORK_DIR}/EX; cmake ${OPTS} -DDD4hep_DIR=${DD4hep_DIR} \ ../../../../DD4hep.trunk/checkout/examples;"; make_build; # cd ../..; done done done done