🧩 cpppm — C++ Package Manager (to become…)
To become the simplest, cross-platform, zero-dependency package manager for C++.
🚀 Overview
cpppm is a minimal, self-contained package manager that treats dependencies as Git repositories + CMake glue code.
No centralized registry, no lock-in, no complexity — just:
git clone + add_subdirectory() + CMake
It’s designed for:
Embedded, offline, or air-gapped builds
Experimental or bootstrap compiler projects
Teams that need 100% reproducible dependency graphs
📂 Directory Layout
your_project/ ├── CMakeLists.txt ├── cpppm.cfg ├── cmake/ │ └── cpppm.cmake ├── external/ └── tools/ └── cpppm.cpp
✨ Features
🧱 Zero installation — just compile tools/cpppm.cpp
🧾 Simple manifest (cpppm.cfg)
🔗 Git-based dependency fetch
⚙️ Auto-generated CMake stub
🧩 Cross-platform: Linux / macOS / Windows
🧠 Ideal for: CMake + Git + reproducible workflows
🚫 No registry. No lock-in.
🔧 Quick Start
c++ -std=c++17 -O2 -o cpppm tools/cpppm.cpp
./cpppm init
./cpppm add fmt https://github.com/fmtlib/fmt.git tag=10.2.1 ./cpppm add catch2 https://github.com/catchorg/Catch2.git tag=v3.5.4
./cpppm install cmake -B build -S . cmake --build build
🧾 Example Manifest (cpppm.cfg)
name=myproj dep=fmt|https://github.com/fmtlib/fmt.git|tag=10.2.1|subdir= dep=catch2|https://github.com/catchorg/Catch2.git|tag=v3.5.4|subdir=
Each line = dep=|<repo_url>|tag=|subdir=
⚙️ CMake Integration
cmake_minimum_required(VERSION 3.16) project(myproj CXX) set(CMAKE_CXX_STANDARD 17)
add_executable(myproj src/main.cpp) include(cmake/cpppm.cmake OPTIONAL)
🧹 Clean Up
./cpppm clean
Removes external/ and generated CMake stubs.
🧠 Philosophy
cpppm exists for clarity and reproducibility — not to compete with heavy package managers like vcpkg or conan.
It’s for developers who want:
Total transparency
Zero external dependencies
Offline, auditable, Git-only builds
No registry. No lock-in. 100% deterministic.
🔭 Roadmap (2025–2027)
Phase Feature Status
Q4 2025 CMake stub generator ✅ Done Q1 2026 SHA-1 lockfile support 🧩 Planned Q2 2026 Cached/offline fetch 🧩 Planned Q3 2026 Parallel clone/update 🧩 Planned Q4 2026 Integration with find_package 🧩 Planned Q1 2027 cpppm publish (manifest sharing) 🧩 Planned Q3 2027 Stable LTS v1.0 🧱 Target
🧭 Ecosystem Integration
cpppm is part of the R3C Foundation Ecosystem (C++ → Rust → NASM LLVM-Zero compiler pipeline).
It acts as the dependency and reproducibility layer for:
🧱 R3C Core compiler
🦀 Rust-LTSS / Embedded-LTSS
🌌 Beyond-LLVM experiments
🗓 Official Release
📅 cpppm v1.0 Stable Release — Target: 2026 H2 Continuous nightly builds are auto-generated by R3C Foundation CI. 🔗 View Releases →
⚖️ License
MIT License © R3C Foundation Open, transparent, and reproducible.