diff --git a/bin/build_detector.sh b/bin/build_detector.sh index d6b9069204bb3bb4abcbc12aee05d845ce0d1682..9836a604fcc0aaf9d5e06c4d944f9974116b21f7 100755 --- a/bin/build_detector.sh +++ b/bin/build_detector.sh @@ -5,8 +5,8 @@ ## ============================================================================= ## make sure we launch this script from the project root directory -PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/.. -pushd ${PROJECT_ROOT} +#PROJECT_ROOT="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"/.. +#pushd ${PROJECT_ROOT} ## ============================================================================= ## Load the environment variables. To build the detector we need the following @@ -21,7 +21,7 @@ pushd ${PROJECT_ROOT} ## ## You can read options/env.sh for more in-depth explanations of the variables ## and how they can be controlled. -source bin/env.sh +source $(dirname "$0")/env.sh ## ============================================================================= ## Step 1: download/update the detector definitions (if needed) @@ -29,44 +29,55 @@ pushd ${DETECTOR_PREFIX} ## We need an up-to-date copy of the detector ## start clean to avoid issues... -if [ -d ${JUGGLER_DETECTOR} ]; then +if [ -d "${JUGGLER_DETECTOR}" ]; then echo "cleaning up ${JUGGLER_DETECTOR}" - rm -rf ${JUGGLER_DETECTOR} + mv "${JUGGLER_DETECTOR}" /tmp/. fi echo "Fetching ${JUGGLER_DETECTOR}" -git clone -b ${JUGGLER_DETECTOR_VERSION} https://eicweb.phy.anl.gov/EIC/detectors/${JUGGLER_DETECTOR}.git -#else - #echo "Updating ${JUGGLER_DETECTOR}" - #pushd ${JUGGLER_DETECTOR} - #git pull --ff-only - #popd -#fi +git clone -b ${JUGGLER_DETECTOR_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/detectors/${JUGGLER_DETECTOR}.git + +## We need an up-to-date copy of the detector +## start clean to avoid issues... +if [ -d "${BEAMLINE_CONFIG}" ]; then + echo "cleaning up ${BEAMLINE_CONFIG}" + mv "${BEAMLINE_CONFIG}" /tmp/. +fi +echo "Fetching ${BEAMLINE_CONFIG}" +echo "git clone -b ${BEAMLINE_CONFIG_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/detectors/${BEAMLINE_CONFIG}.git" +git clone -b ${BEAMLINE_CONFIG_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/detectors/${BEAMLINE_CONFIG}.git + ## We also need an up-to-date copy of the accelerator. For now this is done ## manually. Down the road we could maybe automize this with cmake if [ -d accelerator ]; then echo "cleaning up accelerator" - rm -rf accelerator + mv accelerator /tmp/. fi echo "Fetching accelerator" -git clone https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git -#else -# echo "Updating accelerator" -# pushd accelerator -# git pull --ff-only -# popd -#fi +git clone --depth 1 https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git + ## Now symlink the accelerator definition into the detector definition echo "Linking accelerator definition into detector definition" ln -s -f ${DETECTOR_PREFIX}/accelerator/eic ${DETECTOR_PATH}/eic +ln -s -f ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG}/${BEAMLINE_CONFIG} ${DETECTOR_PATH}/${BEAMLINE_CONFIG} +popd ## ============================================================================= ## Step 2: Compile and install the detector definition echo "Building and installing the ${JUGGLER_DETECTOR} package" -mkdir -p ${DETECTOR_PREFIX}/build -pushd ${DETECTOR_PREFIX}/build +mkdir -p ${DETECTOR_PREFIX}/${JUGGLER_DETECTOR}_build +pushd ${DETECTOR_PREFIX}/${JUGGLER_DETECTOR}_build cmake ${DETECTOR_PATH} -DCMAKE_INSTALL_PREFIX=${LOCAL_PREFIX} -DCMAKE_CXX_STANDARD=17 && make -j30 install || exit 1 -cmake ${DETECTOR_PATH} -DCMAKE_INSTALL_PREFIX=${LOCAL_PREFIX} -DCMAKE_CXX_STANDARD=17 && make -j30 install +popd +rm -rf ${DETECTOR_PREFIX}/${JUGGLER_DETECTOR}_build + +mkdir -p ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG}_build +pushd ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG}_build +cmake ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG} -DCMAKE_INSTALL_PREFIX=${LOCAL_PREFIX} -DCMAKE_CXX_STANDARD=17 && make -j30 install || exit 1 +popd +rm -rf ${DETECTOR_PREFIX}/${BEAMLINE_CONFIG}_build + + ## ============================================================================= ## Step 3: That's all! diff --git a/bin/env.sh b/bin/env.sh index ad9a73a16397ef6c627d2776a56900746bd70042..0e3b82e0a0c6a26a98783166f6ddbff0813bb1a6 100755 --- a/bin/env.sh +++ b/bin/env.sh @@ -32,6 +32,15 @@ echo "Setting up the Physics Benchmarks environment" ## in case you would like to modify the detector package or ## number of events to be analyzed during the benchmark +if [ ! -n "${BEAMLINE_CONFIG}" ] ; then + export BEAMLINE_CONFIG="ip6" +fi + +if [ ! -n "${BEAMLINE_CONFIG_VERSION}" ] ; then + export BEAMLINE_CONFIG_VERSION="master" +fi + + ## Detector package to be used during the benchmark process if [ ! -n "${JUGGLER_DETECTOR}" ] ; then export JUGGLER_DETECTOR="topside" @@ -110,6 +119,8 @@ echo "LOCAL_DATA_PATH: ${LOCAL_DATA_PATH}" echo "DETECTOR_PREFIX: ${DETECTOR_PREFIX}" echo "DETECTOR_PATH: ${DETECTOR_PATH}" echo "ROOT_BUILD_DIR: ${ROOT_BUILD_DIR}" +echo "BEAMLINE_CONFIG: ${BEAMLINE_CONFIG}" +echo "BEAMLINE_CONFIG_VERSION: ${BEAMLINE_CONFIG_VERSION}" ## ============================================================================= ## Setup PATH and LD_LIBRARY_PATH to include our prefixes diff --git a/bin/print_env.sh b/bin/print_env.sh index 6b5b36313e5433070179fe5a86d791d7728c1c1a..d8b19f517d873525029b474c9ff8bab0011bc687 100755 --- a/bin/print_env.sh +++ b/bin/print_env.sh @@ -11,3 +11,5 @@ echo "LOCAL_PREFIX: ${LOCAL_PREFIX}" echo "LOCAL_DATA_PATH: ${LOCAL_DATA_PATH}" echo "DETECTOR_PREFIX: ${DETECTOR_PREFIX}" echo "DETECTOR_PATH: ${DETECTOR_PATH}" +echo "BEAMLINE_CONFIG: ${BEAMLINE_CONFIG}" +echo "BEAMLINE_CONFIG_VERSION: ${BEAMLINE_CONFIG_VERSION}"