awesome-cmake
github.com/onqtam/awesome-cmake ↗A curated list of awesome CMake resources, scripts, modules and examples.
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me examples / templates resources from awesome-cmake"
Installation instructions →What's inside
Examples / Templates
- android-cmake
Examples of using
- BASIS
CMake
- cmake-cookbook
A huge CMake cookbook full of recipes.
- cmake-example
Example project which demonstrates various CMake features.
- cmake-examples
A collection of as simple as possible, modern CMake projects.
- cmake-examples
Useful CMake examples in a tutorial format.
Toolchains
- android-cmake
CMake toolchain file and other scripts for the Android NDK.
- arduino-cmake
This is the CMake project settings for the Arduino platform.
- Arduino-CMake-Toolchain
CMake toolchain for all official and 3rd party Arduino platforms.
- cmake
Collection of CMake toolchain files, mostly for static linking.
- cmake-avr
CMake toolchain for AVR.
- dockcross
Cross compiling toolchains in Docker images.
Resources
- Article
Effective Modern CMake: a great summary of most good practices - by Manuel Binna.
- Article
Modern CMake for Library Developers.
- Article
Some nice and accurate CMake tips.
- Article
Easily supporting CMake install and find_package().
- Article
Building Cross-Platform CUDA Applications with CMake.
- Article
Learn CMake's Scripting Language in 15 Minutes.
Other
- autocmake
Using a autocmake.yml file
- autovala
Program that automatically generates CMake configuration files for your Vala project.
- catkin
CMake-based build system that is used to build all packages in Robot Operating System (ROS).
- cmake-ast
Python module to reduce a CMake file to an AST.
- cmake_check
Static analysis (linter) for the CMake language (e.g. to enforce modern CMake rules).
- cmake-checks-cache
CMake checks cache helper modules.
Utility Scripts
- buildem
Modular CMake-based system that leverages ExternalProject to simplify builds.
- clang-tidy-target-cmake
Add clang-tidy checks to a target using CMake.
- CMake-codecov
Enables code coverage and generates coverage reports with CMake targets.
- CMakeCooking
Flexible development environments for CMake projects with external dependencies .
- cmake-get
Get dependencies in config or script mode.
- cmake-header-language
CMake macro to determine the language of a header file.
Modules
- cgcmake
CMake modules for common applications related to computer graphics.
- CMake
- CMakeCM
CMake Community Modules.
- cmake-modules
This is a collection of additional CMake modules. Most of them are from Ryan Pavlik.
- cmake-modules
- cmake-modules
Package Management / Build Systems
- cget
CMake package retrieval. This can be used to download and install CMake packages.
- conan
Conan C++ Package Manager, implemented in Python and has a CMake integration backend.
- cpm
A setup-free CMake + git dependency manager.
- cpm
C++ Package Manager based on CMake and Git.
- cppan
C++ Archive Network - C++ Package Manager based on CMake, implemented in C++14.
- FetchDependency
Configuration-time retrieval, configuration and building of dependencies.
Showing a sample of 148 resources. View the full list on GitHub →