OTTO – Automate C/C++ CMake for Large Repositories

For large repository with many projects, dependencies and contributors, getting everything to work nicely is not an easy task. Standardization is the biggest issue. The idea behind `otto` is to get any project up and running with the tooling needed for a modern C or C++ codebase while requiring minimal cmake/makefile coding.

Code for `otto` is at github

Features in a nutshell:

  • Encapsulate complexities of cmake in module files
  • Very small and simple makefiles for end user projects
  • Handle external dependencies between projects using find_package
  • Out of source compilation
  • Support for installing both ‘release’ and ‘debug’ binaries and shared objects
  • Support for installation target. The binaries can be installed with the command make install.
  • Automatic version.h generated files.