cpm-cmake/cpm.cmake

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

View on GitHub ↗Jump to charts ↓Open shareable report →

Summary Information

Updated 28 minutes ago
Added to GitGenius on September 16th, 2026
Created on April 9th, 2019
Open Issues & Pull Requests: 168 (+0)
GitHub issues: Enabled
Number of forks: 226
Total Stargazers: 4,128 (+0)
Total Subscribers: 37 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 26.4 hours
Mean response time: 38.8 days
90th percentile: 111.4 days
Tracked items: 58

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 54
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 606 days
Stale 30+ days: 50
Stale 90+ days: 45

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (4)
  • documentation (1)
  • help desk (1)

Most active issues this week

Sign in to see which issues are moving.

Detailed Description

CPM.cmake is a package manager for CMake that handles dependency management without requiring separate setup steps.

The tool solves the problem of managing C and C++ project dependencies across different platforms while maintaining reproducibility. It works by integrating directly into CMake as a small script that fetches and configures dependencies on demand. Rather than requiring developers to pre-install packages or maintain complex dependency specifications, CPM.cmake automates the process within the build system itself, treating dependency management as part of the normal CMake workflow.

Projects with cross-platform requirements or those seeking reproducible builds benefit most from this approach. It suits teams that want to avoid the friction of external package managers or complex setup procedures. The tool handles version management and supports fetching dependencies from multiple sources including Git and SVN repositories, making it flexible for projects that depend on libraries not available in traditional package repositories or that need specific versions pinned to particular commits.

The project maintains steady activity with regular updates to its core functionality and ongoing refinement of its dependency resolution mechanisms. Development includes consistent attention to improving the cross-platform compatibility layer and expanding support for different source control systems. The maintainers actively address edge cases in version handling and continue to enhance the reproducibility guarantees that the tool provides.