Template for developing custom Marlin packages.
exts/
External packages not included with the ILC framework.packages/
All custom packages linked using git submodules.
All commands should be run inside the infnpd/mucoll-ilc-framework:1.6-centos8
image.
apptainer shell --cleanenv docker://infnpd/mucoll-ilc-framework:1.6-centos8
shifter --image infnpd/mucoll-ilc-framework:1.6-centos8 /bin/bash
Run the following commands from inside your container. The same commands will also work with a local installation of the ILC software, with the exception of the first line.
source /opt/ilcsoft/muonc/init_ilcsoft.sh # Setup ILC software
cmake -S . -B build
cmake --build build
The included setup.sh
script is useful for defining all paths for the binaries built by the workspace. At the current stage, it setups the following:
- ILC software via
init_ilcsoft.sh
- External binaries/libraries found in
exts
. - Add all package libraries to
MARLIN_DLL
. - Export
MYBUILD
variable with absolute path to the build directory. - Export
MYWORKSPACE
variable with absolute path to the workspace directory.
Run the following at the start of every session. It has an optional argument to the build directory and is set to build/
by default.
source setup.sh [build]