Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/annefou/ecbuild

ecbuild library for SPREADS
https://github.com/annefou/ecbuild

Last synced: about 24 hours ago
JSON representation

ecbuild library for SPREADS

Awesome Lists containing this project

README

        

============================
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 ``_
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/ `_ 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
``_.

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