pain

omnimistic·omnimistic.pain

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

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.

winget install --id omnimistic.pain --exact --source winget

Latest 3.2

Release Notes

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

  1. Download the new pain.exe from the assets below.
  2. Replace the old pain.exe in your global System PATH folder.
  3. In your existing projects, delete the CMakePresets.json file (PAIN will automatically regenerate the new cross-platform version on your next run).
  4. Run pain clean to delete the build/ directory.
  5. 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.

Installer type: portable

x64D35404573A13BD4218DED81D66BB46F3F4766CB8F4F740D4885F0BC7336441A5

Details

Homepage
https://github.com/omnimistic/pain/
License
GPL-3.0
Publisher
omnimistic
Copyright
GNU General Public License v3.0
Moniker
pain

Tags

cpppackage-managercmaketuiclipainutilitiesvcpkg

Older versions (1)

3.1
x64D2FA86EAC75CB12568580F71F6FDCA7228AD643778D405979C2156FA04F6B3D2