Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Categories
  3. Programming Languages
  4. CMake

CMake

The "Awesome CMake" project is a curated resource list designed to support developers using CMake, a powerful cross-platform build system that manages the build process of software projects. This list includes a variety of resources such as tutorials, tools, modules, and best practices for effectively using CMake in different environments. Whether you are a beginner looking to understand the basics or an experienced developer seeking advanced techniques, this collection provides valuable insights and tools to streamline your development workflow. Explore the resources available to enhance your CMake skills and improve your software packaging and testing processes.

cmakebuild-systemssoftware-packagingcross-platformdevelopment-toolstutorialsbest-practices
RSSView on GitHub
5.4k stars486 forks0 contributorsUpdated
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub

Table of Contents

7 sections · 108 projects

Community

5 projects
#cmake on Freenode

webchat.freenode.net
/r/cmake on Reddit

reddit.com
/r/cpp on Reddit

reddit.com
Official Discourse Forum

discourse.cmake.org
Stack Overflow

stackoverflow.com

Package Management / Build Systems

11 projects
hunterhunter

Stars1,897
Forks653
Last commit6 years ago
CgetCget

A non-intrusive, decentralized package manager for C++ libraries using CMake.

#dependency-manager#python-3#pkgconfig
Stars464
Forks28
Last commit10 days ago
cppan

cppan.org
CPMCPM

A C++ package manager based on CMake and Git that enables linking multiple versions of static libraries without symbol conflicts.

#static-linking#version-management#build-automation
Stars751
Forks80
Last commit4 years ago
conanconan

A decentralized, open-source package manager for C and C++ developers with cross-platform binary management.

#devops#binary-management#conan
Stars9,456
Forks1,116
Last commit1 day ago
fipsfips

A Python-based high-level build system wrapper for distributed, multi-platform C/C++ projects.

#distributed-projects#build-automation#c
Stars506
Forks86
Last commit5 months ago
NinjaNinja

A small build system focused on speed, designed to compile software quickly.

#developer-tools#compilation#make-alternative
Stars13,087
Forks1,811
Last commit2 days ago
vcpkgvcpkg

A free, open-source, cross-platform C/C++ package manager with a large collection of libraries and enterprise-ready features.

#msbuild#microsoft#open-source
Stars27,293
Forks7,644
Last commit21 hours ago
pmmpmm

A CMake module that automatically downloads, installs, and manages external package managers like Conan and vcpkg within CMake projects.

#dependency-manager#build-automation#conan
Stars17
Forks2
Last commit5 years ago
cpmcpm

A small CMake script for setup-free, cross-platform, reproducible C++ dependency management.

#dependency-manager#c#dependency-management
Stars4,067
Forks225
Last commit18 days ago
FetchDependencyFetchDependency

A CMake module that downloads, builds, and installs project dependencies locally at configuration time.

#local-installation#build-automation#dependency-management
Stars4
Forks1
Last commit2 months ago

Modules

15 projects
cmake-modulescmake-modules

Stars1,071
Forks223
Last commit1 year ago
cmake-modulescmake-modules

A collection of additional CMake modules for extending CMake's functionality, primarily sourced from Ryan Pavlik's work.

#build-automation#c#cmake-modules
Stars592
Forks225
Last commit4 months ago
CMakeCMake

A collection of reusable CMake modules and find scripts for standardizing C/C++ project builds, testing, and packaging.

#subproject-management#packaging#dependency-management
Stars153
Forks72
Last commit2 years ago
cmake-modulescmake-modules

A collection of independent CMake modules for scientific libraries, with utilities for writing robust Find* modules.

#scientific-computing#static-libraries#petsc
Stars87
Forks53
Last commit5 years ago
cgcmakecgcmake

CMake modules for building computer graphics applications like Maya plugins, Houdini tools, and Arnold shaders.

#visual-effects#3d-software#cmake
Stars133
Forks67
Last commit5 years ago
FindMathematicaFindMathematica

A CMake module for finding Wolfram Language installations and building C/C++ interfaces.

#mathlink#wolfram-language#cmake
Stars65
Forks15
Last commit11 months ago
extra-cmake-modulesextra-cmake-modules

A collection of additional CMake modules, scripts, and common build settings for KDE and other CMake-based projects.

#kde#cross-compilation#cmake
Stars153
Forks52
Last commit5 days ago
FindICU.cmakeFindICU.cmake

A CMake module for finding and linking against the International Components for Unicode (ICU) library.

#unicode#internationalization#icu
Stars31
Forks9
Last commit9 years ago
FindTBBFindTBB

A CMake find module for locating and linking Intel Threading Building Blocks (TBB) libraries in C++ projects.

#parallel-computing#find-module#cmake
Stars89
Forks34
Last commit8 years ago
FindWiXFindWiX

A CMake module for building Windows Installer packages using the WiX toolset.

#windows-installer#cpack-alternative#build-automation
Stars18
Forks5
Last commit3 years ago
FindIDLFindIDL

A CMake module for building IDL files with MIDL and generating CLR DLLs using Tlbimp.

#com#build-tools#windows-development
Stars25
Forks7
Last commit24 days ago
cmake-modulescmake-modules

A collection of reusable CMake modules for simplifying library discovery and build configuration.

#module-system#cmake#c-plus-plus
Stars31
Forks21
Last commit11 years ago
YCMYCM

A collection of useful CMake modules for building software, particularly in robotic academic collaborative environments.

#robotics#collaborative-tools#academic-software
Stars63
Forks24
Last commit4 days ago
CMakeCMCMakeCM

A community-maintained collection of CMake modules, accessible via PMM or direct download.

#community-modules#pmm#open-source
Stars2
Forks1
Last commit4 years ago
MetabenchMetabench

A simple framework for creating compile-time microbenchmarks to measure C++ template metaprogramming performance.

#metaprogramming#build-tools#template-metaprogramming
Stars188
Forks18
Last commit5 years ago

Utility Scripts

23 projects
cotirecotire

A CMake module that automates precompiled headers and single compilation unit builds to speed up C/C++ compilation.

#compilation-speed#build-optimization#unity-builds
Stars1,298
Forks140
Last commit6 years ago
ucmucm

A collection of CMake macros for managing compiler/linker flags, source collection, precompiled headers, and unity builds.

#compiler-flags#linker-flags#unity-builds
Stars214
Forks33
Last commit3 years ago
cmakeppcmakepp

A comprehensive enhancement suite for CMake, adding modern scripting capabilities, dependency management, and a rich standard library.

#developer-tools#build-automation#dependency-management
Stars448
Forks37
Last commit4 years ago
sugarsugar

Stars99
Forks20
Last commit6 years ago
DownloadProjectDownloadProject

A CMake module for downloading external project source code at configure time for integration via add_subdirectory().

#googletest#dependency-management#cmake
Stars444
Forks88
Last commit2 years ago
buildembuildem

A modular CMake-based system to automate building complex software dependencies from source for FlyEM applications.

#scientific-computing#neuroscience#source-compilation
Stars27
Forks16
Last commit4 years ago
coveralls-cmakecoveralls-cmake

CMake scripts to generate and upload code coverage data to Coveralls.io from C/C++ projects.

#gcov#travis-ci#build-tools
Stars87
Forks19
Last commit6 years ago
compatibilitycompatibility

A CMake module that automatically detects C++ compiler features and generates workaround headers for cross-compiler compatibility.

#header-generation#compiler-support#c-plus-plus-11
Stars75
Forks14
Last commit9 years ago
cmake-modulescmake-modules

A collection of CMake modules including LibFindMacros for simplifying library detection in CMake projects.

#open-source#public-domain#build-automation
Stars45
Forks17
Last commit3 years ago
GreatCMakeCookOffGreatCMakeCookOff

A collection of useful and experimental CMake recipes for simplifying build system configuration.

#open-source#cmake-modules#cmake
Stars44
Forks21
Last commit3 years ago
cppcheck-target-cmakecppcheck-target-cmake

A CMake module for running CPPCheck static analysis on specific targets and source groups within a CMake build.

#build-tools#c#cppcheck
Stars18
Forks7
Last commit10 years ago
clang-tidy-target-cmakeclang-tidy-target-cmake

A CMake module that integrates clang-tidy static analysis checks into your build targets.

#clang-tidy#cmake#c-plus-plus
Stars16
Forks6
Last commit10 years ago
cmake-unitcmake-unit

A unit testing framework for CMake scripts, enabling automated testing of CMake macros and build logic.

#unit-testing#continuous-integration#cmake
Stars39
Forks5
Last commit9 years ago
cmake-header-languagecmake-header-language

A CMake macro that detects whether header files are C, C++, or both by analyzing #include statements in source files.

#macro#compilation#build-tools
Stars4
Forks2
Last commit10 years ago
tooling-cmake-utiltooling-cmake-util

A CMake utility library providing common functions for integrating static analysis tools into C++ projects.

#developer-tools#build-tools#cmake
Stars3
Forks2
Last commit10 years ago
iwyu-target-cmakeiwyu-target-cmake

CMake macro to add per-source include-what-you-use violation checks to individual build targets.

#build-tools#cmake#c-plus-plus
Stars10
Forks4
Last commit10 years ago
sanitizers-cmakesanitizers-cmake

CMake modules to enable compiler sanitizers (AddressSanitizer, MemorySanitizer, etc.) for C/C++/Fortran projects.

#memory-safety#c#cmake
Stars411
Forks74
Last commit8 months ago
cmake-precompiled-headercmake-precompiled-header

A CMake macro for setting up precompiled headers with Visual Studio and GCC compilers.

#gcc#c-plus-plus-build#build-tools
Stars162
Forks40
Last commit6 years ago
CMakePCHCompilerCMakePCHCompiler

A CMake module providing precompiled header support via custom CXXPCH/CPCH compiler extensions, now obsolete since CMake 3.16.

#clang#gcc#compiler-extension
Stars102
Forks19
Last commit6 years ago
CMake-codecovCMake-codecov

A CMake module for easily enabling code coverage and generating reports with CMake targets.

#lcov#gcov#codecov
Stars98
Forks33
Last commit3 months ago
cmake-getcmake-get

A CMake module for fetching and installing dependencies during CMake configuration, similar to ExternalProject but with shared recipes.

#dependency-manager#build-tools#cget
Stars63
Forks3
Last commit7 years ago
ixmixm

A CMake library for writing modern, flexible CMake with reduced boilerplate and sensible defaults.

#boilerplate-reduction#target-expressions#generator-expressions
Stars103
Forks7
Last commit3 years ago
fetch_paths.cmakefetch_paths.cmake

A smart CMake function for dynamically retrieving files and directories using regex filtering and flexible search modes.

#regex-filtering#build-tools#file-management
Stars0
Forks0
Last commit1 year ago

Toolchains

10 projects
dockcrossdockcross

Pre-configured Docker images with cross-compilation toolchains for building software across multiple architectures and platforms.

#webassembly#multi-architecture#embedded
Stars3,600
Forks425
Last commit12 days ago
android-cmakeandroid-cmake

CMake toolchain file and scripts for building native C/C++ code with the Android NDK.

#android-native#clang#gcc
Stars1,228
Forks425
Last commit8 years ago
ios-cmakeios-cmake

A CMake toolchain file and examples for building iOS applications and libraries with cross-platform compatibility.

#static-library#xcode-integration#build-tools
Stars317
Forks105
Last commit5 years ago
qt-android-cmakeqt-android-cmake

A CMake utility for building and deploying Qt applications on Android without requiring QtCreator or QMake.

#deployment#qt#android
Stars250
Forks83
Last commit4 years ago
cmake-avrcmake-avr

A CMake toolchain for building and uploading AVR microcontroller projects across Linux, Windows, and OS X.

#avr-gcc#embedded#microcontroller
Stars185
Forks62
Last commit4 years ago
arduino-cmakearduino-cmake

A CMake-based build system for developing Arduino projects in IDEs like CLion, using the Arduino IDE toolchain.

#ide-integration#cmake#c-plus-plus
Stars61
Forks19
Last commit5 years ago
pollypolly

#travis-ci#appveyor#cmake
Stars869
Forks187
Last commit5 years ago
toolchainstoolchains

A collection of CMake toolchain files for cross-compiling to various platforms, primarily used by the Magnum graphics engine.

#ios#embedded-systems#webassembly
Stars96
Forks32
Last commit8 days ago
cmakecmake

CMake helper scripts and toolchains for Staticlibs projects, providing dependency tracking, testing, and cross-compilation support.

#build-tools#cross-compilation#dependency-management
Stars11
Forks5
Last commit7 years ago
Arduino-CMake-ToolchainArduino-CMake-Toolchain

A CMake toolchain for cross-compiling projects to Arduino-compatible boards (AVR, ESP32, etc.) using standard CMake workflows.

#embedded-systems#esp32#build-tools
Stars150
Forks42
Last commit3 years ago

Related Awesome Lists

🐍
Python

The "Awesome Python" project is a comprehensive collection of resources dedicated to Python, a versatile and widely-used programming language known for its readability and simplicity. This list encompasses a variety of categories including libraries, frameworks, tools, tutorials, and community resources that cater to both beginners and experienced developers. Users can explore resources for web development, data analysis, machine learning, automation, and more, making it an invaluable asset for anyone looking to enhance their Python skills. Whether you're just starting out or looking to deepen your expertise, this collection provides the tools and knowledge to help you succeed in your Python journey.

290.8k
🐹
Go

The "Awesome Go" project is a curated collection of resources for the Go programming language, a statically typed and compiled language developed by Google. This list encompasses a wide range of categories including libraries, frameworks, tools, tutorials, and community resources that cater to both new and experienced Go developers. Whether you're looking for web development frameworks, testing tools, or deployment solutions, this list provides valuable insights and resources to enhance your Go programming journey. Dive into the world of Go and discover tools and libraries that can help streamline your development process and improve your coding efficiency.

169.1k
📦
C/C++

The "Awesome C/C++" project is a curated collection of resources aimed at developers working with C and C++, two powerful general-purpose programming languages widely used for system programming and embedded applications. This list encompasses a variety of resources including libraries, frameworks, tools, tutorials, and community contributions that cater to both beginners and experienced developers. Users can explore essential libraries for graphics, networking, and data processing, as well as tools for debugging, performance analysis, and code quality. Whether you are looking to deepen your understanding of low-level programming or seeking advanced techniques for optimizing performance, this collection provides a wealth of information and tools to enhance your C/C++ development experience.

70.6k
🦀
Rust

The "Awesome Rust" project is a curated collection of resources for developers using Rust, a systems programming language that emphasizes safety and performance. This list encompasses a variety of categories, including libraries, frameworks, tools, tutorials, and community resources, all aimed at enhancing the Rust development experience. Whether you are a beginner looking to learn the basics or an experienced developer seeking advanced techniques, this list provides valuable insights and tools to improve your Rust projects. Dive into the world of Rust and discover the resources that can help you build safe and efficient software.

56.6k