A Git client written in C++, so that I can:
- learn C++
- learn Git
Project structure:
- src
- this is where the meat of the project is: the implementation
- include
- the public interface of the library
- app
- the application which uses the libraries in
include
- the application which uses the libraries in
- tests
- the test code
- each
x.cpp
file has a correspondingx_t.cpp
file here with tests
- ext
- external libraries, e.g. Catch2 testing framework
- .github/workflows/ci.yml
- the GitHub Actions configuration
- Clone repository
- Install the VSCode clangd extension
To compile the project and run the tests:
mkdir build (if not created yet)
cd build
../run.sh [-p] (specify to run in release mode)
If you have Doxygen installed you can also build the documentation by enabling the BUILD_DOCS
CMake option, and then running make doxygen
:
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_DOCS=ON
make doxygen
This will generate the documentation in the html
folder.