Thinking about dependency management

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

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

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

  • Another thing I forgot to mention, but the readme examplifies really well, is that if the dependency has an antisocial (poorly written) lists file, then the users are anyway required to have some knowledge about CMake to write their own commands to properly describe the dependency. I'm not sure why there has to be such a distinction between local and system wide dependencies. Prefix paths serve as a solution to this very problem. You can have dependencies installed to a project local prefix, add that prefix to your CMAKE_PREFIX_PATH and then CMake will do the right thing if you use find_package().

  • Vcpkg

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

  • vcpkg uses CMake toolchain files to work its magic, which further avoids polluting your CMakeLists.txt, but also makes cross-compiling harder if that's something you need to do. It also doesn't (yet, they're working on it) have a way of specifying all deps in one go to make life easier for new contributors.

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

    InfluxDB logo
  • cmkr

    Modern build system based on CMake and TOML.

  • I recently contributed to https://github.com/MoAlyousef/cmkr and made it self-hosting. This means that if you run cmake it will compile cmkr and generate CMakeLists.txt from the toml.

  • hell

  • You can try https://gitlab.com/rilis/hell/hell. It’s not very popular at all, but I have seen it work at scale and it allows you to easily cache dependencies for CI.

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

  • What are the resources can you recommend to have a deep understanding of CMake? Explained more below.

    2 projects | /r/cpp | 30 Jan 2022
  • C++ Build Options

    2 projects | /r/cpp_questions | 14 Dec 2021
  • Are We Modules Yet?

    3 projects | news.ycombinator.com | 1 May 2024
  • My first Software Release using GitHub Release

    6 projects | dev.to | 24 Nov 2023
  • Anyone else frustrated with Conan2?

    3 projects | /r/cpp | 31 Aug 2023