Bodge - The Idiotic Build System
A minimalistic but powerful C++ build system that reads from a simple configuration file. It aims to be a replacement for CMAKE one day and make it more easy and reliable to build C++ and C projects.
bodge [/bΙdΚ/ verb: make or repair (something) badly or clumsily.]
Quick Start
Getting started with Bodge is incredibly simple:
- Install Bodge (download from releases)
- Create a
.bodge
file in your project root - Run
bodge
- thatβs it!
bodge # Build all targets
bodge help # Show help
bodge list # List available targets and sequences
bodge version # Version
Key Features
π Repository Integration
Fetch sources from external repositories and build them directly. Keeps your dependencies always up to date.
π― Multi-Target Support
Build executables, shared libraries (DLLs/SOs), and static libraries with per-target configuration and automatic platform handling.
β‘ Build Sequences
Chain multiple build and file operations. Perfect for complex deployment workflows with copy, remove, and mkdir operations.
π Smart Source Collection
Use src/**
to automatically collect all C++ files. Recursive pattern matching means no manual file listing.
π Cross-Platform
Works seamlessly on Windows and Linux with platform-specific configurations and static linking support.
π οΈ File Operations
Built-in file and directory copying, safe removal, and directory creation with full parent path handling.
Documentation
Building Bodge
Using Bodge (preferred from now on)
bodge
Yes, it is that easy! Bodge can already be built by bodge itself.
Using Make (Linux/macOS)
make all # Build the project
make clean # Clean build artifacts
make debug # Build with debug symbols
Using Windows (MinGW)
.\make.bat
Using CMake
mkdir build && cd build
cmake ..
make
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
Bodge is licensed under the Bodge License (BL-V1.0).