YACHT(https://github.com/ShadowMitia/YACHT) is a C/C++ project template based on CMake designed by ShadowMitia and I. Its goal is to avoid boilerplate CMake code, when trying to add extra features to your project. It uses a “pay for what you use” style of implementation, meaning it has a very small file size and does not generate file for features you didn’t ask for.

It has support for:

  • Easy compiler flags & feature configuration
  • Linters and formatting tools: clang-tidy, cppcheck, include-what-you-use, & clang-format
  • Integrated testing libraries: GTest & Catch2
  • Package managers: conan & vcpkg
  • Crossplatform support: Unix Make, Ninja, & Windows Visual Studio 2015 and up
  • Dev perks: Docker, a fully featured ./build.sh script, a predefined .gitignore, & a pre setup folder structure.

Being based on CMake, it also allows you to continue to use your custom *.cmake scripts and to alter any parts of the CMakeLists.txt with little interference.

Ashley W.D. Hill
Ashley W.D. Hill
PhD Researcher Engineer specialized in machine learning applied to robotics

My research interests include Machine Learning, Robotics, Electronics, and other oddities.