A non-intrusive, decentralized package manager for C++ libraries using CMake.
cget is a package manager for C++ libraries that uses CMake for dependency retrieval and installation. It solves the problem of managing C++ dependencies by providing a simple, non-intrusive way to download and install CMake packages from various sources. The tool works with existing CMake projects without requiring modifications, making it immediately compatible with most C++ libraries.
C++ developers and teams using CMake as their build system who need a straightforward way to manage library dependencies. It's particularly useful for projects that want to avoid complex dependency management setups or vendor lock-in.
Developers choose cget because it works immediately with existing CMake packages without requiring conversion or special hooks. Its decentralized approach and recipe system simplify installing common libraries, while maintaining compatibility with standard CMake workflows.
C++ package retrieval
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works with existing CMake files without special hooks, allowing packages to be installed via cget or used standalone, as stated in the README.
Uses standard CMake build and install processes, supporting almost all CMake packages immediately, per the README's emphasis on out-of-the-box functionality.
Can install packages from GitHub, URLs, or local files, providing flexibility without relying on a central repository, as highlighted in the features.
Includes recipes for common libraries like Boost and cURL, simplifying installation without remembering URLs, as shown in the Quickstart section.
Only supports packages that use CMake, excluding libraries with other build systems like Autotools or Bazel, limiting its scope.
Lacks built-in support for version locking or dependency resolution, which can lead to reproducibility issues in larger projects.
Requires Python 3.6+ and pip for installation, adding an external dependency that might not be standard in all C++ development environments.