Skip to content

For developers

Please read the license information before copying the source code. The GNU v2 license requires, among others, any derivative work to be distributed as open-source.

Repository location

The actual source code, along with resources and build tools, is stored in these repositories:

Molflow-specific code (includes build instructions in the readme file)

Synrad-specific code

Shared code embedded as a Git submodule in the above repos

All operating systems should allow CMake building, as decribed in https://gitlab.cern.ch/molflow_synrad/molflow/-/blob/master/README.md:

  • Clone the repo to a local directory: git clone https://gitlab.cern.ch/molflow_synrad/molflow.git
  • Init shared code git submodule: git submodule init then git submodule update
  • Make a build subdirectory in the repo and cd into it: mkdir build then cd build
  • Configure the repo with CMake: cmake ..
  • Build it: make (or make -j8 for parallel compiling)
  • The binaries will be written in bin subfolder

Build example on Mac

1) We install Homebrew and dependencies:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install cmake libpng gsl sdl2 p7zip libomp

2) then we clone and build the repo:

git checkout https://gitlab.cern.ch/molflow_synrad/molflow.git
cd molflow
git submodule init
git submodule update
mkdir build
cd build
cmake ..
make -j8

On Linux, the dependency part is different (using apt or yum), but the second part is the same.

Branches

  • For MolFlow, master is the 2.9 beta, and master_2.8 is the 2.8 public
  • For SynRad, master_cli is the 1.5 beta, and master is the 1.4 public

Repo states to check out for guaranteed compile

On the Molflow repository, we use Git tags to mark commits that correspond to released versions. Check out these so they are guaranteed to build and run.

Tags for Molflow: https://gitlab.cern.ch/molflow_synrad/molflow/-/tags

Tags for Synrad: https://gitlab.cern.ch/molflow_synrad/synrad/-/tags


Last update: October 10, 2024