- C++ 91.8%
- CMake 6.6%
- Nix 0.8%
- Makefile 0.8%
| data | ||
| src | ||
| unittests | ||
| .clangd | ||
| .envrc | ||
| .gitignore | ||
| archi | ||
| CMakeLists.txt | ||
| compile_commands.json | ||
| makefile | ||
| readme.md | ||
| shell.nix | ||
Box of Files
Features
Currently, only the indexing (initialisation & update) is supported.
When indexing, the last_modified property of files is trusted to not
rehash files indexed after this date.
Architecture
The executable is just an interface to the bof_data library (in the data directory).
It is separated in 4 classes:
InstantiationKeywhich abstract the pathInstantiationwhich represent an instantiation object (path and SHA)Filewhich represent a file object (content metadata only)Databasewhich hold the database.
The idea behind indexing process (Database::update) is vaguely describe in the archi file.
All the remote notion is not implemented.
Build
Note for nix users : there is no package file, but the shell.nix setup every dependencies.
Dependencies
The build chain uses CMake (tested minimum 3.23) with Makefiles output and pkgconfig for dependencie imports. Any C++ compiler supporting C++23 and detected by CMake should be good (tested with g++ 14.3.0).
There are 3 code dependencies :
Build
Just executing make should do the trick (including CMake configuration).
The makefile has 3 targets : build, test (running unittests via CTest) and clean.