Upgrading From Previous Versions

Please see the note on version stability and backward compatibility here.

Installation With Cmake


We’re working on getting cpplot added as a package in conan-central. Follow the work in progress here. Until we do that, installation is via cmake.

A cross-platform compilation file is provided using cmake, it’s not tested on windows but might actually work, since it uses conan to handle all the tricky dependencies.

git clone
cd cpplot && cmake . -B build

This process will die first time around, and you’ll get a message like:

-- Adding dependencies with conan. Make sure you've called `conan install . --install-folder /Users/you/cpplot/cmake-build-debug`
CMake Error at CMakeLists.txt:16 (include):
  include could not find load file:

It’ll give you the conan install command to install the third party dependencies. Enter that, run it and re-run cmake.

If you don’t have conan installed, its pretty easy to get started.

Third Party Dependencies

The dependencies we use are as follows:

Eigen provides a linear algebra library. It isn’t as consistent with MATLAB’s API as armadillo (an alternative), but the API is very understandable and is used extensively in the C++ community.

glog google’s asynchronous logging library, used for logging to file.

googletest for unit testing.

cpr will probably disappear soon as it’s a dependency of some old work with plotly online.

json is a fast and popular json library for C++. Whoever nlohmann is, they rock.

boost is a library of general utilities. cpplot uses boost stacktrace to provide more helpful errors and boost filesystem utilities to ease the pain of reading, writing and handling files.

tbb is intel’s threading library which allows us to write files out of the main thread, preventing us from blocking execution.