From 2f21ff5b96f0a465f68e9bc38e78f8f9ccfd0ea6 Mon Sep 17 00:00:00 2001
From: Louis Moureaux <louis.moureaux@cern.ch>
Date: Sat, 20 Jan 2024 02:27:16 +0100
Subject: [PATCH] Add general install script

---
 .gitlab-ci.yml |  6 +-----
 install.sh     | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 5 deletions(-)
 create mode 100755 install.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 73f3338..2f98937 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,9 +21,5 @@ cmake:
     script:
         - source /cvmfs/cms.cern.ch/cmsset_default.sh
         - yum install -y cmake3 python3 zsh
-        - scram project CMSSW_12_4_0
-        - cd CMSSW_12_4_0; eval $(scram runtime -sh); cd -
-        - (cd CMSSW_12_4_0; scram setup $OLDPWD/libgit2.xml)
-        - cmake3 -B build
-        - cmake3 --build build -v -j$(nproc)
+        - ./install.sh
 
diff --git a/install.sh b/install.sh
new file mode 100755
index 0000000..ae9227f
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+set -e
+
+BASE_DIR=$PWD
+
+# Get a CMSSW if we don't have one
+if [ -z $CMSSW_BASE ]; then
+    cmsrel CMSSW_12_4_0
+    cd CMSSW_12_4_0
+    cmsenv
+fi
+
+# Set up libgit2
+cd $CMSSW_BASE
+scram setup ../libgit2.xml
+
+# Download and build supporting tools
+cd $BASE_DIR
+cmake3 -B .build
+cmake3 --build .build -j$(nproc)
+cmake3 --build .build --target install -j8
+
+# Set up scram tools in CMSSW
+cd $CMSSW_BASE
+for xml in $BASE_DIR/tools/etc/*.xml; do
+    scram setup $xml
+done
+
+# Get Core
+cd $CMSSW_BASE/src
+[ ! -d Core ] && git clone https://gitlab.cern.ch/DasAnalysisSystem/Core.git
+
-- 
GitLab