GreekStapler
d252c55fb0
After my changes to the macros, they still feel a bit hacky, but I'm content with them. I also changed the parser to assume the .PKGINFO files are always valid because they are automatically generated. The parser also assumes the same fields will always appear in the same fixed order. I made this change after checking how makepkg generated this file. |
||
---|---|---|
include | ||
src | ||
test | ||
.clangd | ||
.gitignore | ||
.woodpecker.yml | ||
Makefile | ||
README.md |
README.md
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 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:
make clean
bear -- make
bear --append -- make build-test
This will create a compile_commands.json
file in the current directory.