A template for C and CPP programming that makes use of the cmocka unit testing framework in addition to the CMAKE build system. It's focused on wide compatibility with multiple systems and setup for vim usage.
Go to file Use this template
jakeg00dwin 7f07a2956e updated to be the current day's date instead of just year 2024-03-02 11:10:36 -08:00
.template_files updated to be the current day's date instead of just year 2024-03-02 11:10:36 -08:00
build build dir and a placeholder file 2024-02-22 23:14:10 -08:00
cmake/cmocka-1.1.7 A copy of the newest cmocka release 1.1.7 2024-02-22 23:16:50 -08:00
docs added as placeholder for dir 2024-03-02 10:26:55 -08:00
inc example code and tests 2024-02-22 23:15:42 -08:00
src readded the original file 2024-03-01 11:35:10 -08:00
tests re-added the original file 2024-03-01 11:35:56 -08:00
toolchains empty toolchain dir and placeholder file 2024-02-22 23:14:42 -08:00
.gitignore setup ignoring of the generated documentation. 2024-03-02 10:27:12 -08:00
CMakeLists.txt basic cmake file 2024-02-22 23:14:48 -08:00
Doxyfile updated the Doxygen configuration file and readme 2024-03-02 10:25:36 -08:00
LICENSE Initial commit 2024-02-23 05:14:20 +00:00
README.md updated the Doxygen configuration file and readme 2024-03-02 10:25:36 -08:00
otto.sh added body to the git_remove_module() function(untested rn). 2024-03-02 11:06:28 -08:00
setup.sh added a simple echo command to the shell function 2024-02-29 22:25:06 -08:00

README.md

cmake-cmocka-template

A template for C and CPP programming that makes use of the cmocka unit testing framework in addition to the CMAKE build system.

Requirements

Resources

Documentation

Documentation genreation is handled with Doxygen.

Building documentation

doxygen ./Doxyfile
# Magic happens
ls ./docs

And that's it.

Contributions

Directory Overview

It's focused on wide compatibility with multiple systems and setup for vim usage..

tree -L 2 ./
├── build
├── CMakeLists.txt
├── docs
├── inc
├── LICENSE
├── README.md
├── setup.sh
├── src
│   ├── CMakeLists.txt
│   └── main.c
├── otto.sh
└── tests
    └── CMakeLists.txt

5 directories, 8 files

Scripts

There are two scripts setup inside the project directory:

otto.sh Uesd to preform the needed commands to build, test and debug the project.

Adding a new module

To add a new section of code:

  1. run the otto.sh script: ./otto.sh
  2. Select option 5
  3. Enter the modules name.

To remove a module:

  1. run the otto.sh script: ./otto.sh
  2. Select option 6
  3. Enter the modules name.

setup.sh Used to install the projects dependencies and automate needed setup. Also removes example code when requested.