ecbuild - ECMWF build system

April 3, 2020 · View on GitHub

============================ ecbuild - ECMWF build system

ecBuild is built on top of CMake and consists of a set of macros as well as a wrapper around CMake. Calling::

ecbuild $SRC_DIR

is equivalent to::

cmake -DCMAKE_MODULE_PATH=ECBUILDDIR/cmakeECBUILD_DIR/cmake SRC_DIR

Prior knowledge of CMake is assumed. For a tutorial, see e.g. https://cmake.org/cmake/help/latest/guide/tutorial/index.html

Quick start

ecBuild does not need to be compiled, and can be used directly from the source repository. If you want to install it, please refer to the <INSTALL.rst>_ file.

  1. Retrieve the source code::

    git clone https://github.com/ecmwf/ecbuild

  2. Add ecbuild to your PATH::

    export PATH=PWD/ecbuild/bin:PWD/ecbuild/bin:PATH

Examples

The examples/ <examples/README.rst>_ directory contains some sample projects that show how ecBuild can be used in various situations. For a quick introduction on how to write an ecBuild project, have a look at <examples/simple/CMakeLists.txt>_.

Building a project

Just like CMake, ecBuild uses out-of-source builds. We will assume that your project sources are in $SRC_DIR (e.g. examples/simple), and that your build directory is $BUILD_DIR (e.g. $SRC_DIR/build)::

mkdir -p BUILDDIRcdBUILD_DIR cd BUILD_DIR ecbuild $SRC_DIR # see ecbuild --help, you may pass CMake options as well make # add your favourite options, e.g. -j