000

click or press any key to skip

← All products

· Nº 04 — Open Source Toolchain

CUV. — C/C++ Package Manager: What cargo is to Rust — for C and C++. One binary, zero config.

C/C++ Package Manager

What cargo is to Rust — for C and C++. One binary, zero config.

SYS_03
Open Source · CUV
$ MEASURED ON APPLE M5 · MEDIAN OF RUNS

· 001 — In short

C and C++ never got the tool every other language takes for granted. CUV is that tool: create a project, add a library and run it in three commands, without writing a line of CMake.

QuickstartCopy & run

$ cuv init my_app$ cd my_app$ cuv add fmt$ cuv run ✓

· 002 — What it does

  1. 01

    Zero config

    One declarative cuv.toml. cuv init, cuv add <lib>, cuv run — no CMakeLists.txt to write.

  2. 02

    Shared cache

    Dependencies and objects live in ~/.cuv/cache. Fetch a library once; every later project adds it in milliseconds.

  3. 03

    One binary

    Written in Rust. Drives the clang++ or g++ you already have. No Python, CMake or Ninja required.

  4. 04

    Editor ready

    Every build writes compile_commands.json, so clangd works in VS Code, CLion and Neovim with no setup.

  5. 05

    Non-hostile interop

    cuv export cmake writes a CMakeLists.txt; cuv export provider lets an existing CMake project pull dependencies through CUV.

  6. 06

    Real targets

    Executables, static and shared libraries, and a test runner that links your project's objects.

· 003 — Measured, not claimed

  • Start-up (--version)CUV2.3 msCMake4.8 ms
  • Add fmt to a new project (from cache; 755 ms the first time)CUV5.8 msCMake2.1 s
  • New project + fmt + json, first buildCUV0.76 sCMake1.26 s
  • Rebuild after a cleanCUV44 msCMake1.03 s
  • Rebuild, nothing changedCUV8.8 msCMake70 ms

Apple M5 (10 cores), median of repeated runs, a program using fmt and nlohmann_json; CMake used FetchContent and Unix Makefiles (its “first build” row with dependencies already downloaded). Your numbers will differ with hardware, network and compiler.

· 004 — Install

macOS & Linux
$ curl -LsSf https://raw.githubusercontent.com/ARASKOVA-labs/CUV/main/scripts/install.sh | sh
From source
$ cargo install --git https://github.com/ARASKOVA-labs/CUV.git

Prebuilt binaries: macOS on Apple silicon and Linux x86_64; other platforms build from source automatically. Windows: see the README. You also need clang++ or g++.

· + — More from Araskova