Project

General

Profile

Workflow without mrb

This workflow is for building packages which use cetbuildtools.
cetbuildtools provides a common set of utilities and cmake macros.

Glossary

  • PRODUCT_DIR
  • shared product directory containing multiple versions of various products
  • products include root, cmake, genie, etc.
  • LOCAL_PRODUCT_DIR
  • a local product directory
  • thie directory might contain custom versions of some product
  • BUILD_DIR
  • your local working directory where you will build the package
  • SOURCE_DIR
  • where the source code lives
  • this is generally defined as the directory containing the top level CMakeLists.txt file
  • PACKAGE
  • the package that is being built
  • OPTIONS
  • -d or -p for debug or profile build
  • QUALIFIERS
  • the base qualifier set (e.g. e4 or nu:e4)

Building a single package from scratch

  1. source PRODUCT_DIR/setups
  2. git clone ssh://.../PACKAGE
  3. mkdir BUILD_DIR
  4. cd BUILD_DIR
  5. source SOURCE_DIR/ups/setup_for_development OPTIONS QUALIFIERS
    if QUALIFIERS is not specified, the default qualifier set is used
    this step establishes the correct build environment, which includes setting up necessary products
  6. buildtool -b -I LOCAL_PRODUCT_DIR -i
    buildtool encapsulates the cmake and make steps
    buildtool provides a rich set of options to control the build
  7. working on the source code
    edit source code
    run buildtool again
  8. if you add or remove a source code file
    remove everything in BUILD_DIR
    source SOURCE_DIR/ups/setup_for_development OPTIONS QUALIFIERS
    run buildtool again