Why is it that package managers are unnecessarily hard?

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • 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.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • 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.

  • 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.

  • {fmt}

    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

  • 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

  • CMake and Linking External libraries is a kick in the nuts if i've ever seen it.

    4 projects | /r/cpp | 3 May 2023
  • CMake+Conan2 project template example repositories?

    4 projects | /r/cpp | 15 Apr 2023
  • package manager in 2022

    4 projects | /r/cpp | 19 Dec 2022
  • Use cmake to install dependency libraries?

    5 projects | /r/cpp | 19 Aug 2022
  • CMake 3.24 has support for dependency providers

    3 projects | /r/cpp | 9 Aug 2022