CPM.cmake is a cross-platform CMake script that adds dependency management capabilities to CMake. It's built as a thin wrapper around CMake's FetchContent module that adds version control, caching, a simple API and more. Any downloadable project or resource can be added as a version-controlled dependency though CPM, it is not necessary to modify or package anything. Projects using modern CMake are automatically configured and their targets can be used immediately. For everything else, the targets can be created manually after the dependency has been downloaded. After CPM.cmake has been added to your project, the function CPMAddPackage can be used to fetch and configure a dependency. Afterwards, any targets defined in the dependency can be used directly. CPMAddPackage takes the following named parameters. The origin may be specified by a GIT_REPOSITORY, but other sources, such as direct URLs, are also supported.

Features

  • Manage everything
  • Setup-free CMake dependency management
  • Small and reusable projects
  • Cross-Platform CPM
  • Reproducible builds
  • Recursive dependencies
  • Plug-and-play

Project Samples

Project Activity

See All Activity >

Categories

Git

License

MIT License

Follow CPM.cmake

CPM.cmake Web Site

Other Useful Business Software
Deploy Apps in Seconds with Cloud Run Icon
Deploy Apps in Seconds with Cloud Run

Host and run your applications without the need to manage infrastructure. Scales up from and down to zero automatically.

Cloud Run is the fastest way to deploy containerized apps. Push your code in Go, Python, Node.js, Java, or any language and Cloud Run builds and deploys it automatically. Get fast autoscaling, pay only when your code runs, and skip the infrastructure headaches. Two million requests free per month. And new customers get $300 in free credit.
Try Cloud Run Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of CPM.cmake!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Registered

2022-12-22