Skip to content
El Dockerr edited this page Oct 17, 2025 · 2 revisions

Home

A minimalistic but powerful C++ build system that reads from a simple configuration file

View on GitHub

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

Fetch sources from other repositories with ease

  • Bodge fetch from predefined repositories and can build directly
  • It keeps sources up to date

Multi-Target Support

  • Build executables, shared libraries (DLLs/SOs), and static libraries
  • Per-target configuration with global defaults
  • Automatic file extension handling for different platforms

Build Sequences

  • Chain multiple build and file operations
  • Copy, remove, and create directory operations
  • Perfect for deployment workflows

Automatic Source Collection

  • Use src/** to automatically collect all C++ files from directories
  • Recursive pattern matching with dependency analysis
  • No need to manually list every source file

Advanced Build System

  • Cross-platform compatibility (Windows/Linux)
  • Static linking support to eliminate DLL dependencies
  • Comprehensive error handling and logging

File Operations

  • Built-in file and directory copying
  • Safe file/directory removal
  • Directory creation with parent path handling

Documentation

Guide | Description -- | -- Getting Started | Installation and first steps Configuration Reference | Complete .bodge file reference Automatic Source Collection | Using src/** patterns for automatic file discovery Examples | Real-world usage examples Contributing Guide | How to contribute

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 GNU General Public License v3.0.