libgit4cpp is a lightweight C++ wrapper around the libgit2 C library. It was mainly developed for use in taskolib and covers only a tiny subset of the functionality of the original library.
The library API is documented with Doxygen on the web page https://taskolib.github.io/libgit4cpp/ .
libgit4cpp is free software distributed under the terms of the GNU Lesser General Public License version 2.1 (LGPLv2.1).
The library is built with Meson/Ninja. Building is done in two stages: You start by setting up the build system with a call to Meson. All configurable options are set in this step. Then, you start the actual build with the ninja command.
To set up a build directory builddir with the default configuration and build the
library in it:
meson builddir
ninja -C builddir
By convention, directory names starting with build or subdirectories of a build*/ folder
are used.
Meson differentiates between debug and release builds at configuration time (when setting up the build directory). These are the most often used variants:
meson --buildtype=debug builddir
meson --buildtype=debugoptimized builddir
meson --buildtype=release builddir
This library carries documentation embedded in the source code. Run the following tool to generate HTML documentation:
./tools/make-doc.py
This runs the open-source tool Doxygen and generates a web page in the directory docs/html.
To see all the possible and the active settings, change into the build directory and call
meson configure. You can see some of the built-in possibilities there, like unity builds
and sanitizer to use.
meson --buildtype debug builddir
Not optimized build in builddir/ (optimized for debugging in gdb for ex.)
meson builddir
Fully optimized build in builddir/, installs in /usr/lib and
/usr/lib/include.
This can be used together with debuild to create packages, after
adapting the debian/rules (not recommended, just use the existing rules).
The staging directory will be transfered via DESTDIR.
(install in $HOME/???/lib)
meson --prefix ???/somewhere builddir
Installs into the user's home directory.
To use it one has to set LD_LIBRARY_PATH, PKG_CONFIG_PATH, and CPATH (probably).
... one can call any of these:
ninja -C builddir
ninja -C builddir test
ninja -C builddir install
ninja -C builddir clean
rm -Rf builddir