Beaver
Capable build system and command runner for any project.
Projects can be built programmatically because configuration is written in Ruby.
It is an excellent replacement for make and cmake.
Example
Project(name: "Game")
C::Library(
name: "Physics",
description: "Physics simulation library",
language: :cpp,
sources: "lib/physics/*.cpp",
include: "include/physics"
)
C::Library(
name: "Renderer",
language: :c,
sources: "lib/renderer/*.c",
include: "include/renderer",
dependencies: [
pkgconfig("SDL2"),
system_lib("pthread")
]
)
C::Executable(
name: "Game",
language: :cpp,
sources: "src/*.cpp",
dependencies: ["Physics", "Renderer"]
)
Building
Building requires ruby to be installed. The ruby version linked to will be the one that is accessible
from the command line ruby --version
.
cargo build -p beaver-cli
Installing
from source
cargo install --git https://github.com/jomy10/beaver
Documentation
Coming soon
Contributing
Feel free to open an issue regarding bugs or improvements. If you want to work on an improvement, you can do so by commenting on its issue and opening a pull request. Your help is much appreciated!
Running tests
Be sure to check your changes with tests. Add new ones if your change is not coverd by the current tests.
cargo test
Questions
Feel free to ask any questions you may have by opening an issue.
License
This software is licensed under the MIT license.