awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
cpm-cmake avatar

cpm-cmake/CPM.cmake

0
View on GitHub↗
3,910 Stars·214 Forks·CMake·mit·4 Aufrufe

CPM.cmake

CPM.cmake is a dependency manager and package resolver for C and C++ projects that integrates directly into the CMake build system. It automates the process of fetching, configuring, and managing external libraries by resolving dependencies through system-wide package managers or by downloading source code from remote repositories.

The system ensures reproducible builds by locking transitive dependency versions and verifying the authenticity of downloaded source archives using cryptographic hash checksums. It allows for development flexibility through local filesystem overrides, which redirect remote dependencies to local paths, and sequential source patching to modify dependency behavior without altering the original codebase.

Broad capabilities include version resolution via semantic tags or commit hashes, local caching of dependency sources to reduce network overhead, and the application of custom build flags and options during the configuration of third-party projects.

Features

  • Remote Dependency Integration - Automates the downloading and integration of external libraries from remote repositories into the build system.
  • CMake-Based Managers - Acts as a comprehensive dependency manager and package resolver integrated directly into the CMake build system.
  • Dependency Lock Managers - Generates lock files to fix versions of all transitive dependencies for reproducible builds.
  • Dependency Resolvers - Implements logic for calculating and fetching dependency graphs to resolve transitive library versions.
  • Remote Version Resolution - Resolves specific library versions by fetching tags or commit hashes directly from remote Git repositories.
  • Package Dependency Managers - Resolves third-party dependencies by checking system-wide package managers before falling back to automated source downloads.
  • Reproducible Build Environments - Ensures consistent builds across environments by locking transitive dependency versions and verifying source integrity.
  • Third-Party Source Integration - Downloads and configures third-party projects from any source without requiring modifications to the original codebase.
  • CMake Integrations - Provides a CMake script that automates the retrieval and inclusion of external project source code.
  • Dependency Management - Provides an automated system for fetching and configuring external C++ libraries directly through CMake.
  • Semantic Versioning Systems - Uses semantic versioning and release tags to integrate libraries and ensure deterministic builds.
  • System Package Manager Integrations - Locates dependencies via system-wide package managers before falling back to downloading from source.
  • C++ Package Orchestration - Manages the lifecycle of third party C++ dependencies by checking system installations before downloading from source.
  • External Library Installers - Downloads and configures external source code from remote repositories using specific version tags or commit hashes.
  • Fallback Resolution Strategies - Attempts to find packages via system-wide managers before falling back to automated source downloads.
  • Package Dependency Resolution - Locates required packages by checking for global installations before falling back to automated fetching.
  • Dependency Build Options - Passes build settings and flags to a dependency during configuration to toggle features or disable components.
  • Dependency Caches - Stores downloaded packages in a local directory to speed up build times and ensure consistent environments.
  • Post-Download Patching - Executes a sequence of patch files against dependency source code immediately after downloading to modify behavior.
  • Local Dependency Caching - Implements local caching of downloaded dependencies to reduce network overhead and ensure build consistency.
  • Local Dependency Linkers - Redirects dependencies to absolute local paths to test changes without updating remote sources.
  • Local Source Overrides - Allows redirecting remote dependency resolution to a local filesystem path for iterative development.
  • Download Integrity Verification - Validates the authenticity of downloaded source archives by comparing file hashes against trusted checksums.
  • Post-Download Integrity Checks - Validates the authenticity of downloaded source archives using cryptographic hash checksums to ensure supply chain security.
  • Patch Application - Applies a series of external patch files to downloaded source code before configuration.

Star-Verlauf

Star-Verlauf für cpm-cmake/cpm.cmakeStar-Verlauf für cpm-cmake/cpm.cmake

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht cpm-cmake/cpm.cmake?

CPM.cmake is a dependency manager and package resolver for C and C++ projects that integrates directly into the CMake build system. It automates the process of fetching, configuring, and managing external libraries by resolving dependencies through system-wide package managers or by downloading source code from remote repositories.

Was sind die Hauptfunktionen von cpm-cmake/cpm.cmake?

Die Hauptfunktionen von cpm-cmake/cpm.cmake sind: Remote Dependency Integration, CMake-Based Managers, Dependency Lock Managers, Dependency Resolvers, Remote Version Resolution, Package Dependency Managers, Reproducible Build Environments, Third-Party Source Integration.

Welche Open-Source-Alternativen gibt es zu cpm-cmake/cpm.cmake?

Open-Source-Alternativen zu cpm-cmake/cpm.cmake sind unter anderem: thelartians/cpm — CPM is a source-based package manager and build tool for CMake that downloads, versions, and integrates external C++… rust-lang/cargo — Cargo is the official build system and package manager for the Rust programming language. It provides a unified… masterminds/glide — Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible… homebrew/homebrew-core — This project is a Ruby-based package definition repository that functions as a cross-platform package manager and… friendlyanon/cmake-init — cmake-init is a project generator and build system boilerplate designed to automate the initialization of C++… componentjs/component — Component is a frontend build tool and package manager designed for modular web application development. It functions…

Open-Source-Alternativen zu CPM.cmake

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit CPM.cmake.
  • thelartians/cpmAvatar von TheLartians

    TheLartians/CPM

    4,026Auf GitHub ansehen↗

    CPM is a source-based package manager and build tool for CMake that downloads, versions, and integrates external C++ dependencies without requiring an external installation. It functions as a script-based resolution system that fetches remote source code and configures project targets for immediate use within the build process. The project ensures reproducible build workflows through lockfile version pinning and cryptographic hash-based integrity verification of downloaded archives. It supports concurrent development by allowing remote resources to be overridden with local filesystem paths an

    CMake
    Auf GitHub ansehen↗4,026
  • rust-lang/cargoAvatar von rust-lang

    rust-lang/cargo

    14,624Auf GitHub ansehen↗

    Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f

    Rustcargopackage-managerrust
    Auf GitHub ansehen↗14,624
  • masterminds/glideAvatar von Masterminds

    Masterminds/glide

    8,095Auf GitHub ansehen↗

    Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible builds across environments. It stores project-specific copies of Go packages in a vendor directory, isolating dependencies per project to avoid version conflicts, and supports fetching packages from Git, Mercurial, Bazaar, and Subversion repositories. The tool resolves dependency versions using semantic versioning ranges and operators, and generates a lock file that records exact commit IDs for all transitive dependencies. Glide distinguishes itself with an interactive version wiz

    Gogogolangpackage-management
    Auf GitHub ansehen↗8,095
  • homebrew/homebrew-coreAvatar von Homebrew

    Homebrew/homebrew-core

    15,383Auf GitHub ansehen↗

    This project is a Ruby-based package definition repository that functions as a cross-platform package manager and software dependency resolver for macOS and Linux. It provides a centralized system for installing, updating, and managing software through a Git-based distribution model. The system distinguishes itself through a binary package distribution network that produces pre-compiled bottles to avoid local compilation from source. It utilizes a Ruby-based domain specific language to define installation recipes and employs a distributed version control architecture to synchronize these defi

    Rubycoreformulaehacktoberfest
    Auf GitHub ansehen↗15,383
Alle 30 Alternativen zu CPM.cmake anzeigen→