Skip to content

konni332/rustyforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

110 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustyForge Logo

Rusty Forge

crates.io Build Status

RustyForge is a minimal build manager for C/C++ projects written in Rust. It automates compiling binaries and libraries, supports parallel builds, profiles, features, and manages a build cache.

Features

  • Automatic discovery of source files (*.c, *.cpp).
  • Multiple binaries and a static/shared library per project
  • Parallel compilation using a configurable thread pool
  • Build profiles: dev and release
  • Feature-driven compile-time defines
  • Fully configurable project manifest via RustyForge.toml
  • Cli for build, run, clean, info

Installation

From crates.io:

cargo install rustyforge

From GitHub:

git clone https://github.com/konni332/rustyforge.git
cd rustyforge
cargo install --path .

Quick Start

  1. Create a new project using rustyforge new <project-name> and add a target, e.g. binary or library, to the manifest
  2. Add C/C++ source files
  3. Build your project:
rustyforge build --release
  1. Run a binary:
rustyforge run --exe your-app

Documentation

For a full reference, see the following documents:

  • CLI Reference: see CLI
  • Manifest Reference: see MANIFEST

Examples

Build a release binary

rustyforge build --release --exe example

Run a binary with arguments

rustyforge run --release --exe example -- -p 8080

Clean the build directory

rustyforge clean

Display project info in JSON

rustyforge info --json

Planned features

Plans for the future include, but are not limited to:

  • Dependencies, e.g. a fully fletched dependency system, possibly using a registry and fetching either RustyForge projects or build arifacts.

License

Rustyforge is licensed under either

at your option


About

RustyForge is a simple and lightweight build tool for C development, that aims for a Cargo-like UX

Topics

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages