From 1d616b883f0d0e3c0d22791bc7811a15b8eafded Mon Sep 17 00:00:00 2001
From: lintao <lintao@ihep.ac.cn>
Date: Thu, 19 Sep 2024 22:07:50 +0800
Subject: [PATCH] Improve the build script.

---
 cmake/CEPCSWEnv.cmake | 10 ++++++----
 setup.sh              |  1 +
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/cmake/CEPCSWEnv.cmake b/cmake/CEPCSWEnv.cmake
index 1854ce60..4d77c702 100644
--- a/cmake/CEPCSWEnv.cmake
+++ b/cmake/CEPCSWEnv.cmake
@@ -1,9 +1,11 @@
 # This variable will be used by GaudiToolbox.cmake to generate the cepcswenv.sh
 
 set(RUN_SCRIPT_EXTRA_COMMANDS "${RUN_SCRIPT_EXTRA_COMMANDS}
-export CEPCSW_ROOT=${CMAKE_SOURCE_DIR}
 
-export DETCEPCV4ROOT=${CMAKE_SOURCE_DIR}/Detector/DetCEPCv4
-export DETCRDROOT=${CMAKE_SOURCE_DIR}/Detector/DetCRD
-export DETDRIFTCHAMBERROOT=${CMAKE_SOURCE_DIR}/Detector/DetDriftChamber
+CEPCSW_PROJECT_SOURCE_DIR=${CMAKE_SOURCE_DIR} # this is hardcode
+export CEPCSW_ROOT=\${CEPCSW_ROOT:-\${CEPCSW_PROJECT_SOURCE_DIR}} # allow user to override the default
+
+export DETCEPCV4ROOT=\${CEPCSW_ROOT}/Detector/DetCEPCv4
+export DETCRDROOT=\${CEPCSW_ROOT}/Detector/DetCRD
+export DETDRIFTCHAMBERROOT=\${CEPCSW_ROOT}/Detector/DetDriftChamber
 ")
diff --git a/setup.sh b/setup.sh
index 3e09a68f..0d748d04 100644
--- a/setup.sh
+++ b/setup.sh
@@ -46,6 +46,7 @@ function setup-external() {
 function setup-install-area() {
     local installarea=$THISSCRITDIR/InstallArea
     if [ ! -d "$installarea" ]; then
+        info: "The InstallArea is not created yet. Please run ./build.sh first, then source setup.sh again."
         return
     fi
 
-- 
GitLab