ecbuild icon indicating copy to clipboard operation
ecbuild copied to clipboard

A CMake-based build system, consisting of a collection of CMake macros and functions that ease the managing of software build systems

============================ 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=$ECBUILD_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:$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 $BUILD_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