Build CCF from Source

Once you have setup your VM and installed all dependencies, you will be able to successfully build and run the CCF test suite that will deploy a local CCF network.

First, checkout the CCF repository:

$ git clone git@github.com:microsoft/CCF.git

To build CCF from source, run the following:

$ cd CCF
$ mkdir build
$ cd build
$ cmake -GNinja ..
$ ninja

Note

CCF defaults to building in the RelWithDebInfo configuration.

Warning

A machine with at least 32Gb of memory is recommended to build CCF with the default compiler.

Build Switches

The full list of build switches can be obtained by running:

$ cmake -L ..

The most common build switches include:

  • BUILD_TESTS: Boolean. Build all tests for CCF. Default to ON.

  • SAN: Boolean. Build unit tests with Address and Undefined behaviour sanitizers enabled. Default to OFF.

Run Tests

Tests can be started through the tests.sh wrapper for ctest.

$ cd build
$ ./tests.sh

Although CCF’s unit tests can be run through ctest directly, the end-to-end tests that start a network require some Python infrastructure. tests.sh will set up a virtual environment with these dependencies and activate it before running ctest. Add -VV for verbose test output. Further runs will re-use that virtual environment.

Update the Documentation

It is possible to preview local documentation changes by running

$ ./livehtml.sh

or if there are no Doxygen changes

$ SKIP_DOXYGEN=ON ./livehtml.sh