ecbuild
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.
-
Retrieve the source code::
git clone https://github.com/ecmwf/ecbuild
-
Add
ecbuild
to yourPATH
::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