Skip to main content
CForge Logo

CForge

A modern TOML-based build system for C/C++ with CMake & vcpkg integration

Why Choose CForge?

โš™๏ธ

Simple TOML Configuration

Replace complex CMakeLists.txt with clean, readable TOML files. CForge generates optimized CMake behind the scenes while you focus on code.

๐Ÿ“ฆ

Integrated Dependency Management

First-class support for vcpkg, Conan, Git submodules, and system libraries. Declare dependencies once, CForge handles the rest.

๐ŸŒ

Cross-Platform & Cross-Compile

Build for Windows, macOS, Linux natively. Cross-compile for Android, iOS, Raspberry Pi, and WebAssembly with built-in toolchain support.

๐Ÿ—‚๏ธ

Workspaces & Monorepos

Manage multiple projects together with automatic dependency resolution between local projects. Perfect for large codebases.

๐ŸŽจ

Cargo-Style Output

Beautiful colored terminal output with build timing, progress indicators, and enhanced error diagnostics with fix suggestions.

๐Ÿ› ๏ธ

Developer Tooling

Built-in formatting (clang-format), linting (clang-tidy), file watching, documentation generation, and shell completions.

๐Ÿ–ฅ๏ธ

IDE Integration

Generate project files for VS Code, CLion, Xcode, and Visual Studio with a single command. Includes launch configs and tasks.

๐Ÿงช

Testing & Benchmarks

Integrated CTest support for unit testing. Run Google Benchmark and other benchmark frameworks with cforge bench.

๐Ÿ“

Project Templates

Generate boilerplate code with cforge new. Create classes, headers, test files, and more with consistent style.

Quick Start

1. Create a project

cforge init my_project
cd my_project

2. Configure with TOML

[project]
name = "my_app"
version = "1.0.0"
type = "executable"

[dependencies]
fmt = { version = "10.1.0", source = "vcpkg" }
spdlog = { version = "1.12.0", source = "vcpkg" }

3. Build & Run

cforge build
cforge run

Cargo-style Output

$ cforge build
Compiling my_app v1.0.0
Compiling src/main.cpp
Compiling src/utils.cpp
Finished Debug target(s) in 2.34s

Developer Tools

fmt

Code Formatting

Automatic formatting with clang-format

cforge fmt
lint

Static Analysis

Find bugs with clang-tidy

cforge lint
watch

File Watching

Auto-rebuild on changes

cforge watch
doc

Documentation

Generate docs with Doxygen

cforge doc
bench

Benchmarks

Run performance benchmarks

cforge bench
tree

Dependency Tree

Visualize dependencies

cforge tree
new

Templates

Generate classes, tests, headers

cforge new class
ide

IDE Integration

VS Code, CLion, Xcode, VS

cforge ide vscode

Installation

Windows

# PowerShell
irm https://raw.githubusercontent.com/
ChaseSunstrom/cforge/master/
scripts/install.ps1 | iex

macOS / Linux

curl -sSL https://raw.githubusercontent.com/
ChaseSunstrom/cforge/master/
scripts/install.sh | bash

From Source

git clone https://github.com/
ChaseSunstrom/cforge.git
cd cforge && ./build.sh