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:

  1. Install Bodge (download from releases)
  2. Create a .bodge file in your project root
  3. 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

πŸš€ Getting Started

Installation and first steps to get Bodge running in minutes.

Get Started β†’

βš™οΈ Configuration

Complete .bodge file reference with all available options.

Learn More β†’

πŸ“ Auto Source Collection

Use src/** patterns for automatic file discovery.

Explore β†’

🌍 Internationalization

Multi-language support for your build system.

Learn More β†’

πŸ‘οΈ Daemon Mode

Automatic rebuilds with intelligent file watching.

Explore β†’

πŸ“š Examples

Real-world usage examples and best practices.

View Examples β†’

🀝 Contributing

Help improve Bodge and join our community.

Contribute β†’

πŸ’» Windows Setup

Configure Windows Terminal for the best experience.

Setup Guide β†’

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).