Journal of Open Research Software (Jul 2021)

CMakeCatchTemplate: A C++ template project

  • Thomas Dowrick,
  • Mian Ahmad,
  • Stephen Thompson,
  • James Hetherington,
  • Jonathan Cooper,
  • Matt Clarkson

DOI
https://doi.org/10.5334/jors.319
Journal volume & issue
Vol. 9, no. 1

Abstract

Read online

CMakeCatchTemplate (https://github.com/MattClarkson/CMakeCatchTemplate) is a project to provide a starting structure for C++ projects configured with CMake, that can be customised to work in a variety of scenarios, allowing developers to deploy new algorithms to users in a shorter timeframe. Main features include a SuperBuild to build optional dependencies; unit tests using Catch; support for CUDA, OpenMP and MPI; examples of command line and GUI applications; Doxygen integration; Continuous Integration templates and support for building/deploying Python modules.

Keywords