Skip to content
Mark M. Ito edited this page Jul 25, 2018 · 7 revisions

A Version Management System for GlueX

A system for building and managing GlueX software is described. The goal is to insulate the user from the need to the master details of building each of several software packages as well as from the details of setting up a working environment. Multiple versions of each of several packages can be maintained simultaneously. Particular combinations of package versions can be specified succinctly in an XML configuration file and this file can be used both to guide a complete build of all needed packages and to set up the shell environment to use the resulting build.

Package dependencies

root => none clhep => none jana => evio, ccdb, xerces-c, root sim-recon => evio, cernlib, xerces-c, root, jana, hdds, ccdb, rcdb, sqlitecpp

        hdds => ['xerces-c', 'root'],
        cernlib => [],
        'xerces-c' => [],
        geant4 => [],
        ccdb => [],
        hdgeant4 => ['geant4', 'sim-recon', 'jana', 'ccdb'],
        gluex_root_analysis => ['sim-recon', 'root'],
        amptools => ['root']);

add a prerequisite for sqlitecpp only if SQLITE_HOME is defined

if (defined $ENV{SQLITE_HOME}) { $prereqs{sqlitecpp} = ['sqlite']; }

Clone this wiki locally