pain

pain 3.2

A simple and modern project and package manager for C++

Download for Windows

About pain

PAIN (or pain) is a zero-configuration C++ project manager designed to simplify modern C++ development. It provides instant project scaffolding and seamless dependency management. It globally downloads libraries, links them, and auto-generates CMake files so that you can focus purely on coding.

What's new in 3.2

What's New in PAIN v3.2

Cross-Platform Collaboration

  • Seamless OS Sharing: Upgraded CMakePresets.json. Hardcoded user paths are now gone, replaced by the universally resolved $env{VCPKG_ROOT}. A friend on Linux or macOS can now git clone your Windows-made PAIN project and run pain build with absolutely zero path errors!

UX & Quality of Life

  • The "PowerShell Hang" has been resolved: Globally disabled vcpkg telemetry via the VCPKG_DISABLE_METRICS environment variable. PAIN will no longer silently freeze waiting for invisible Y/N prompts during commands such as pain doctor.
  • More Throbbers: Added the Throbber to heavy background tasks like bootstrapping the toolchain and compiling large libraries so that you won't have to guess if pain or the terminal has frozen/crashed.

Upgrade Instructions for Existing Users

  • Download the new pain.exe from the assets below.
  • Replace the old pain.exe in your global System PATH folder.
  • In your existing projects, delete the CMakePresets.json file (PAIN will automatically regenerate the new cross-platform version on your next run).
  • Run pain clean to delete the build/ directory.
  • Run pain sync to ensure everything is linked correctly, and you are done!

Instructions for New Users

Simply download pain.exe and the readme.txt file, then follow the instructions in the README to add it to your system PATH. Once done, you’ll be able to run pain from any directory in your terminal.

If you are not on Windows, you will unfortunately have to compile PAIN yourself.

Feel free to check out the repository and the Markdown files for more details.

<div align="center">
<img src="https://github.com/user-attachments/assets/f16fd025-9be7-41d1-94b5-66df1e8ae6c2">
</div>

Full release notes »

Technical details

Publisheromnimistic
Version3.2
LicenseGPL-3.0
Installer typeportable
Architecturex64
Package IDomnimistic.pain

Install pain from the command line

Install with Windows Package Manager
winget install --id=omnimistic.pain -e
Update to the latest version
winget upgrade --id=omnimistic.pain -e
Uninstall
winget uninstall --id=omnimistic.pain -e

pain adds this command to the command line: pain.

cpppackage-managercmaketuiclipainutilitiesvcpkg

pain version history

3.1

Frequently asked questions

Is pain free?

Yes. pain is free and open-source software released under the GPL-3.0 license.

What is the latest version of pain?

The latest version is 3.2.

Is it safe to download pain?

The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with d35404573a13bd4218ded81d66bb46f3f4766cb8f4f740d4885f0bc7336441a5.

Which Windows versions does pain support?

pain runs on Windows and is available for 64-bit (x64) systems.

How do I uninstall pain?

Open Settings › Apps › Installed apps, find pain and select Uninstall. From the command line, run winget uninstall --id=omnimistic.pain -e.

Is there a portable version of pain?

Yes. pain is available as a portable program (pain.exe, 64-bit (x64)) that runs without installation. Copy it to any folder or USB drive and run it from there.