# libvieter This library powers part of Vieter, most noteably the sections that can easily be implemented in C (or just parts I want to implement in C because it's fun). The goal of this library is to be completely self-contained, meaning any required data structures have to be implemented as well. It can only depend on the C standard libraries. Currently it contains the following: * Cron expression parser & next time calculator ## Development ### Compilation Everything is handled by the provided Makefile. To compile the static library, simply run `make`. ### Testing This library uses [Acutest](https://github.com/mity/acutest) for its tests. Tests should be placed in the `test` subdirectory, further divided into directories that correspond those in `src`. Test files should begin with `test_`, and their format should follow the expected format for Acutest. To run the tests, simply run `make test`. If you wish to only run a specific test binary, you can find them in `build/test`. ### `compile_commands.json` Clangd requires a `compile_commands.json` to function properly. You can generate it using [bear](https://github.com/rizsotto/Bear): ```sh make clean bear -- make bear --append -- make build-test ``` This will create a `compile_commands.json` file in the current directory.