Why is it that package managers are unnecessarily hard?

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • xmake

    🔥 A cross-platform build utility based on Lua

    Give https://xmake.io a try, it really changed my life as a C++ developer by removing the need to worry about dependencies, and much simpler/friendlier syntax for project description too.

  • Vcpkg

    C++ Library Manager for Windows, Linux, and MacOS

    Since it is recommended to have vcpkg as a submodule (see https://github.com/microsoft/vcpkg), you should be able to use a relative path. This enable you to have different versions of vcpkg across different projects while keeping it sync with your repository.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • CPM.cmake

    📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.

    Fwiw, CPM is a CMake module that wraps FetchContent and adds an optional global cache. It's become my preferred way to manage dependencies in personal projects.

  • Kalman

    Kalman Filter (by FrancoisCarouge)

    I use fmt and others in my project with CMake fetch and it's been a good experience so far: fetch, declare, link in a few lines. Hope this can be useful to someome.

  • cmake-init

    The missing CMake project initializer

    Try cmake-init. They have a bunch of templates for conan, vcpkg. It will make your life 10% easier.

  • C++ Format

    A modern formatting library

  • cpp-vcpkg-starter

    A template C++ CMake vcpkg project

    I recently tried vcpkg with this template repo, and it runs like a dream, it actually comes with fmt already included as an example. https://github.com/devtbi/cpp-vcpkg-starter

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • vcpkg-sdl2-report

    I was referring to a Git submodule. You can find a full example of this setup at https://github.com/njakob/vcpkg-sdl2-report.

  • meta-conan

    Yocto layer for the Conan project

  • ShaderLang

    NZSL (Nazara Shading Language) repository - A shader language inspired by Rust and C++ which compiles to GLSL or SPIRV (without any additional dependency)

    Here's a pretty advanced xmake.lua for reference: https://github.com/NazaraEngine/ShaderLang/blob/main/xmake.lua

  • zen

    Btw, some US company already use xmake (see https://github.com/EpicGames/zen for example - need to be part of Epic Games org to see it).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts