diff --git a/CMakeLists.txt b/CMakeLists.txt index 19b583c3dd5311abb45124333a2a536763535b67..066ca6b03b823532a40d163bad9c99366960b0df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,3 +52,15 @@ install(EXPORT ${PROJECT_NAME}Targets ) gaudi_install(CMAKE cmake/${PROJECT_NAME}Config.cmake) + +file(WRITE ${CMAKE_BINARY_DIR}/setup.sh.in + "#!/bin/bash\n" + "# Generated by cmake \n" + "# Following is the extra envvar:\n" + "@RUN_SCRIPT_EXTRA_COMMANDS@" +) +configure_file("${CMAKE_BINARY_DIR}/setup.sh.in" "${CMAKE_BINARY_DIR}/setup.sh" + @ONLY) + +install(FILES "${CMAKE_BINARY_DIR}/setup.sh" + DESTINATION ${CMAKE_INSTALL_PREFIX}) diff --git a/build-k4.sh b/build-k4.sh index 6e2e3bdb10466804663b8b424ae7487062b344ec..4570c559aca12e47b9e7cc603af30ab9cd259d59 100755 --- a/build-k4.sh +++ b/build-k4.sh @@ -104,6 +104,10 @@ function run-make() { cmake --build . } +function run-install() { + cmake --install . +} + ############################################################################## # Parse the command line options ############################################################################## @@ -120,3 +124,5 @@ check-working-builddir || exit -1 run-cmake || exit -1 run-make || exit -1 + +run-install || exit -1 diff --git a/build.sh b/build.sh index 337287fe081bdbf364c5fa2b856dc0a4534aa9df..14c0ab21509ab61ea48b4715c25ea93efe5018c6 100755 --- a/build.sh +++ b/build.sh @@ -86,6 +86,10 @@ function run-make() { cmake --build . } +function run-install() { + cmake --install . +} + ############################################################################## # Parse the command line options ############################################################################## @@ -103,3 +107,5 @@ check-working-builddir || exit -1 run-cmake || exit -1 run-make || exit -1 + +run-install || exit -1 diff --git a/setup.sh b/setup.sh index a75d5f39d2d3fca4d0501c970c74648b69229014..2f285d787a7087dcaace21117037477796846070 100644 --- a/setup.sh +++ b/setup.sh @@ -9,6 +9,8 @@ # Author: Tao Lin <lintao@ihep.ac.cn> ############################################################################## +THISSCRITDIR=$(dirname $(readlink -e "${BASH_SOURCE[0]}" 2>/dev/null) 2>/dev/null) # Darwin readlink doesnt accept -e + function info:() { echo "INFO: $*" 1>&2 } @@ -41,6 +43,25 @@ function setup-external() { } +function setup-install-area() { + local installarea=$THISSCRITDIR/InstallArea + if [ ! -d "$installarea" ]; then + return + fi + + export PATH=$installarea/bin:$PATH + export LD_LIBRARY_PATH=$installarea/lib:$LD_LIBRARY_PATH + export PYTHONPATH=$installarea/lib:$PYTHONPATH + export PYTHONPATH=$installarea/python:$PYTHONPATH + export ROOT_INCLUDE_PATH=$installarea/include:$ROOT_INCLUDE_PATH + + local extrasetupscript=$installarea/setup.sh + if [ -f "$extrasetupscript" ]; then + source $extrasetupscript + fi + + info: "Setup CEPCSW: $installarea" +} ############################################################################## # Parse the command line options @@ -54,3 +75,4 @@ fi export CEPCSW_LCG_VERSION setup-external +setup-install-area