https://github.com/martinrixham/cheesemake
It is not meant to be taken literally, it refers to any manufacturers of dairy products.
https://github.com/martinrixham/cheesemake
bash build-tool c
Last synced: 9 months ago
JSON representation
It is not meant to be taken literally, it refers to any manufacturers of dairy products.
- Host: GitHub
- URL: https://github.com/martinrixham/cheesemake
- Owner: MartinRixham
- License: gpl-3.0
- Created: 2020-04-26T10:07:09.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-05T11:26:26.000Z (almost 2 years ago)
- Last Synced: 2025-04-18T00:10:42.400Z (about 1 year ago)
- Topics: bash, build-tool, c
- Language: Shell
- Homepage:
- Size: 91.8 KB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cheesemake
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](https://www.infoq.com/articles/cheesemake-c-build-system).
### Dependencies
* Bash
* jq
* pkg-config
* OpenSSL
### Install
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
### Run
# cmk --help
usage: cmk [clean]
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/.
Do `cmk ` in the root directory of a project containing a `recipe.json` file.
### Syntax
Please refer to the [recipe](example/recipe.json) in the example.