This repo serves as a template for my C++ projects.
The template is composed of:
- cmake, meson and bazel build files, already configured for:
- testing / fuzzing / benchmarking
- static and dynamic library build
- gcc or clang option with c++23
- CPM as cmake dependency manager
- valFuzz for testing, fuzzing and benchmarking
- doxygen documentation
- clang-format settings
- nix developement shell
- cppcheck for static analysis
- LICENSE, CONTRIBUTING and other git files
- github workflow
- useful ready commands
cmake -Bbuild
cmake --build build -j 4meson setup build
ninja -C buildbazel build //:mylibThe binaries will be generated in bazel-build
The library uses valFuzz for testing
./build/tests # run tests
./build/tests --fuzz # run fuzzer
./build/tests --benchmark # run benchmarksThe library uses doxygen for documentation, to build the html documentation run:
make docs
To change the name of the template, run:
./set-name <your-name>