User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome CMake

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

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Dec. 4, 2021, 11:10 a.m.

Thank you onqtam & contributors
View Topic on GitHub:
onqtam/awesome-cmake

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Community

Resources

The Hitchhikerโ€™s Guide to the CMake

457
52
9m
BSD-2-Clause

Samples for Learning Modern CMake

195
23
5y 103d
MIT

Material used for teaching.

54
10
8m
n/a

Tutorial about doing CMake Right (Official repo is now https://github.com/IRCAD-IHU/modern-cmake-tutorial)

15
6
1y 9m
n/a

slides)- by Deniz Bahadir, Meeting C++ 2019.

Package Management / Build Systems

1.88K
597
1y 11m
BSD-2-Clause

C++ package retrieval

393
21
40d
n/a

C++ Package Manager

704
45
4y 8m
MIT

Conan - The open-source C/C++ package manager

5.4K
680
10d
MIT

High-level build system for distributed, multi-platform C/C++ projects.

397
71
13d
MIT

a small build system with a focus on speed

7.46K
1.18K
18d
Apache-2.0

C++ Library Manager for Windows, Linux, and MacOS

14.26K
4.09K
10d
n/a

It's the C++ Package Manager Manager

10
2
12m
MIT

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

896
75
66d
MIT

[[APACHE2]][APACHE2]

Modules

My collection of CMake modules

793
195
5m
BSL-1.0

Additional CMake functionality. Most of the modules are from Ryan Pavlik (https://github.com/rpavlik/cmake-modules)

372
168
5m
n/a

Common CMake modules

139
69
5m
n/a

CMake modules for some scientific libraries

78
57
1y 44d
BSD-2-Clause

CMake modules for common applications related to computer graphics

103
63
1y 4m
MIT

CMake module for Mathematica.

45
10
6m
MIT

Extra modules and scripts for CMake.

87
38
11d
n/a

[CMake] [BSD-2] CMake module to find ICU

28
8
4y 11m
BSD-2-Clause

CMake find module for Intel Threading Building Blocks

80
35
4y 11m
MIT

CMake module for building Windows Installer packages with WiX toolset

9
3
1y 10m
BSD-3-Clause

CMake module for building IDL files with MIDL and generating CLR DLL using Tlbimp

12
5
1y 39d
BSD-3-Clause

CMake module collection

30
24
6y 7m
MIT

Extra CMake Modules for YARP and friends

38
21
95d
n/a

CMake Community Modules

1
1
1y 10m
n/a

A simple framework for compile-time benchmarks

157
15
2y 9m
n/a

Utility Scripts

CMake module to speed up builds.

1.24K
142
1y 11m
MIT

Useful cmake macros that help with: compiler/linker flags, collecting sources, PCHs, Unity builds and other stuff.

188
27
1y 10m
MIT

An Enhancement Suite for the CMake Build System

374
36
4y 5m
n/a
100
23
1y 9m
BSD-2-Clause

CMake module for downloading an external project's source at configure time

410
88
4y 7m
MIT

CMake and other scripts to help build process of FlyEM software

27
15
5y 53d
n/a

Coveralls JSON coverage generator and uploader for CMake

78
15
1y 9m
MIT

unmaintained - CMake module to activate certain C++ standard, feature checks and appropriate automated workarounds - basically an improved version of cmake-compile-features

71
13
5y 90d
Zlib

LibFindMacros development repository and other cool CMake stuff

40
17
1y 10m
n/a

Bunch of CMake pain in the baker

38
22
58d
MIT

Per-target CPPCheck for CMake

18
8
5y 6m
MIT

Add clang-tidy checks to a target using CMake

15
6
5y 6m
MIT

A unit testing framework for CMake

31
5
4y 6m
MIT

CMake macro to determine the language of a header file

4
2
5y 6m
MIT

Utility and common library for all polysquare cmake tools.

3
2
5y 6m
MIT

CMake integration for include-what-you-use

8
4
5y 6m
MIT

CMake modules to help use sanitizers

258
45
3y 50d
n/a

Visual Studio and GCC precompiled header macro for CMake

155
42
4y 9m
n/a

CMake precompiled header support via custom PCH compiler extension

105
22
2y 40d
MIT

CMake module for code coverage

75
27
41d
BSD-3-Clause

Get dependencies with cmake

59
3
2y 10m
n/a

Make CMake less painful when trying to write Modern Flexible CMake

82
6
1y 10m
MIT

Toolchains

Cross compiling toolchains in Docker images

2.34K
295
26d
MIT

CMake toolchain file and other scripts for the Android NDK

1.14K
438
6y 6m
n/a

A toolchain file and examples using cmake for iOS development (this is a fork of a similar project found on code.google.com)

294
102
1y 93d
BSD-3-Clause

A simple CMake utility for building and deploying Qt based applications on Android without QtCreator

206
61
67d
n/a

cmake toolchain for AVR

149
52
7m
n/a

Arduino CMake Build system

52
20
5y 9m
n/a

Collection of CMake toolchain files and scripts for cross-platform build and CI testing (GCC, Visual Studio, iOS, Android, Clang analyzer, sanitizers etc.)

805
195
6m
BSD-2-Clause

Toolchains for crosscompiling with CMake.

66
26
1y 20d
n/a

CMake scripts for Staticlibs projects

7
5
2y 7m
Apache-2.0

CMake toolchain for all Arduino compatible boards

81
20
1y 5m
MIT

Examples / Templates

Template for reliable, cross-platform C++ project setup using cmake.

695
104
1y 8m
MIT
29
4
4y 11m
BSD-2-Clause

CMake: config mode of find_package command (examples)

333
51
1y 8m
n/a

this tries to be a minimal cmake example, that covers sources resources dependencies and packaging.

147
36
4y 49d
CC0-1.0

Example project which demonstrates various CMake features.

138
51
1y 11m
BSD-3-Clause

Useful CMake Examples

6.97K
1.62K
81d
MIT

A minimal CMake template for Qt 5 & 6 projects

166
30
9m
Unlicense

CMake BASIS makes it easy to create sharable software and libraries that work together. This is accomplished by combining and documenting some of the best practices and utilities available. This project supplies a fully integrated suite of functionality to make the whole process seamless!

37
10
5m
n/a

A small c++ template with modern CMake

239
41
5m
MIT

An OS-agnostic C++ library template in plain CMake.

262
41
10m
MIT

Example library that shows best practices and proper usage of CMake by using targets

529
57
8m
MIT

Installation example for a C++ project (Windows) with Cmake.

26
7
88d
MIT

A simple, cross-platform, and continuously integrated C++14 project template

57
9
3y 5m
CC0-1.0

Concise CMake templates for creating C++ libraries or executables.

103
11
1y 5m
n/a

Short copy-pasteable CMake snippets ::: ${โœ‚๏ธ}

46
4
2y 4m
BSD-3-Clause

CMake Cookbook recipes.

1.41K
388
1y 96d
n/a

A template C++ repository, using CMake and Catch

37
9
1y 5m
n/a

Pitchfork is a Set of C++ Project Conventions

571
33
2y 10m
MIT

A collection of as simple as possible, modern CMake projects

910
47
9m
MIT

Boiler plate template for C++ projects, with CMake, Doctest, Travis CI, Appveyor, Github Actions and coverage reports.

424
107
90d
Unlicense

๐Ÿš€ Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.

2.33K
177
43d
Unlicense

Other

CMake plugin composer.

34
11
1y 8m
BSD-3-Clause

Improved build system generator for CPython C, C++, Cython and Fortran extensions

280
79
24d
n/a

CMake-based build system for node.js native modules

71
22
1y 11m
ISC

Emacs Font-lock rules for CMake

36
5
11m
GPL-3.0

A program that automatically generates CMake and Meson configuration files for your Vala project

107
15
3y 4m
GPL-3.0

A CMake-based build system that is used to build all packages in ROS.

258
263
4m
BSD-3-Clause

CMake scripts for painless usage of SuiteSparse+METIS from Visual Studio and the rest of Windows/Linux/OSX IDEs supported by CMake

347
200
1y 10m
BSD-3-Clause

CMake scripts for building OpenSceneGraph third party libraries.

139
102
116d
Unlicense

cmake for D2

49
14
91d
MIT

Enhanced CMake Project Manager plugin for Qt Creator

70
9
11d
n/a

Check for coding style issues in CMake files

96
16
4y 6m
Apache-2.0

Standardise code formating for cmake projects with git and clang-format

48
13
4y 43d
Unlicense

Autotools-style configure script wrapper around CMake

80
5
4y 6m
CC0-1.0

Python module to reduce a cmake file to an AST

26
9
3y 6m
MIT

CMake checks cache helper modules โ€“ for fast CI CMake builds!

54
5
2y 9m
n/a

Static analysis for CMake files.

20
5
2y 4m
MIT

CMake LSP Implementation

117
10
58d
MIT

Project to enable using CMake from a Maven build.

55
7
82d
n/a