Skip to main content

A curated list of awesome CMake resources, scripts, modules and examples.

5.4k
GitHub Stars
148
Curated Resources
8
Categories
7 hours ago
Last Refreshed
CommunityResourcesPackage Management / Build SystemsModulesUtility ScriptsToolchainsExamples / TemplatesOther

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

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

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 →