Cheesemake is a declarative build tool for C/C++ written in Bash. It comes with plugins for serveral static and dynamic validation tools such as cppcheck and valgrind as well as the ability to run custom plugins. Read the article.
- Bash
- jq
- pkg-config
- OpenSSL
I don't intend to provide a portable installation script but you can do something like this:
git clone https://github.com/martinrixham/cheesemake.git
cp -r cheesemake /opt
ln -s /opt/cheesemake/cheesemake /usr/local/bin/cmk
# cmk --help
usage: cmk [clean] <phase>
Cheesemake runs ALL phases in order up to the one specified.
Phases:
validate Run plugins such as static analysis tools.
compile Compile sources in the src directory and output them to build/src.
test Compile and run tests in the test directory.
package Create a binary in build/bin or build/lib.
verify Run plugins such as dynamic analysis tools.
run Run build/bin/<recipe name>.
Do cmk <phase>
in the root directory of a project containing a recipe.json
file.
Please refer to the recipe in the example.