To clone this repo:
git clone --branch tag --recurse-submodules https://github.com/JeffersonLab/clas12-mcgen.git
To compile in the singularity container on JLab machines:
module load singularity
singularity shell --home ${PWD}:/srv --pwd /srv --bind /cvmfs --contain --ipc --pid --cleanenv /cvmfs/singularity.opensciencegrid.org/jeffersonlab/clas12software:production
source /srv/root-6.22.06-build/bin/thisroot.sh
make -j8
To test builds on CVMFS in the singularity container:
singularity shell --home ${PWD}:/srv --pwd /srv --bind /cvmfs --contain --ipc --pid --cleanenv /cvmfs/singularity.opensciencegrid.org/jeffersonlab/clas12software:production
source /etc/profile.d/modules.sh
source /cvmfs/oasis.opensciencegrid.org/jlab/hallb/clas12/sw/setup.sh
module load root mcgen
- ROOT with MathMore and Minuit2
- cmake >= 2.9
- gcc >= 8.0
- On OSX,
brew install findutils
To update to the latest commit in one submodule:
git submodule update --remote --merge ./inclusive-dis-rad/
Or for all submodules:
git submodule update --remote --merge .
To update to a particular commit or tag in a submodule:
cd ./inclusive-dis-rad
git checkout bb9025c
git checkout v1.0
If that submodule has its own submodules, then, in addition need to:
git submodule update --recursive
In all cases above, you'd need to subsequently commit (and push) the changes.
git submodule add submoduleRepo.git
If the submodule has its own submodules, this is necessary:
git submodule --init --recursive path
git submodule deinit -f path/to/submodule
rm -rf .git/modules/path/to/submodule
git rm -f path/to/submodule