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: Nov. 30, 2022, 11:06 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

466
54
1y 9m
BSD-2-Clause

Samples for Learning Modern CMake

202
24
6y 99d
MIT

Material used for teaching.

57
11
1y 8m
n/a

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

15
6
2y 9m
n/a

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

Package Management / Build Systems

1.88K
607
2y 11m
BSD-2-Clause

C++ package retrieval

400
21
1y 36d
n/a

C++ Package Manager

709
46
5y 8m
MIT

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

5.65K
717
9m
MIT

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

401
72
9m
MIT

a small build system with a focus on speed

7.73K
1.23K
10m
Apache-2.0

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

14.87K
4.29K
9m
n/a

It's the C++ Package Manager Manager

10
2
1y 12m
MIT

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

1.02K
88
9m
MIT

[[APACHE2]][APACHE2]

Modules

My collection of CMake modules

817
201
10m
BSL-1.0

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

384
177
10m
n/a

Common CMake modules

141
70
1y 5m
n/a

CMake modules for some scientific libraries

78
58
2y 40d
BSD-2-Clause

CMake modules for common applications related to computer graphics

107
63
2y 4m
MIT

CMake module for Mathematica.

46
11
11m
MIT

Extra modules and scripts for CMake.

94
38
9m
n/a

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

28
8
5y 10m
BSD-2-Clause

CMake find module for Intel Threading Building Blocks

80
34
5y 11m
MIT

CMake module for building Windows Installer packages with WiX toolset

10
3
2y 10m
BSD-3-Clause

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

14
6
2y 35d
BSD-3-Clause

CMake module collection

30
24
7y 7m
MIT

Extra CMake Modules for YARP and friends

41
21
1y 91d
n/a

CMake Community Modules

1
1
2y 10m
n/a

A simple framework for compile-time benchmarks

157
15
3y 9m
n/a

CMake modules, scripts, and utilities

0
0
8m
GPL-3.0

Utility Scripts

CMake module to speed up builds.

1.25K
142
2y 11m
MIT

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

189
29
2y 10m
MIT

An Enhancement Suite for the CMake Build System

383
39
11m
n/a
100
23
2y 9m
BSD-2-Clause

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

417
90
5y 7m
MIT

CMake and other scripts to help build process of FlyEM software

27
15
6y 49d
n/a

Coveralls JSON coverage generator and uploader for CMake

79
14
2y 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
6y 86d
Zlib

LibFindMacros development repository and other cool CMake stuff

40
17
2y 10m
n/a

Bunch of CMake pain in the baker

38
22
1y 54d
MIT

Per-target CPPCheck for CMake

17
8
6y 6m
MIT

Add clang-tidy checks to a target using CMake

15
6
6y 6m
MIT

A unit testing framework for CMake

32
5
5y 6m
MIT

CMake macro to determine the language of a header file

4
2
6y 6m
MIT

Utility and common library for all polysquare cmake tools.

3
2
6y 6m
MIT

CMake integration for include-what-you-use

8
4
6y 6m
MIT

CMake modules to help use sanitizers

265
47
4y 46d
n/a

Visual Studio and GCC precompiled header macro for CMake

156
42
5y 9m
n/a

CMake precompiled header support via custom PCH compiler extension

105
22
3y 36d
MIT

CMake module for code coverage

74
27
1y 37d
BSD-3-Clause

Get dependencies with cmake

59
3
3y 10m
n/a

Make CMake less painful when trying to write Modern Flexible CMake

99
7
2y 10m
MIT

Toolchains

Cross compiling toolchains in Docker images

2.42K
307
9m
MIT

CMake toolchain file and other scripts for the Android NDK

1.16K
439
7y 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)

298
106
2y 89d
BSD-3-Clause

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

212
63
1y 63d
n/a

cmake toolchain for AVR

150
52
1y 7m
n/a

Arduino CMake Build system

53
20
6y 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.)

811
196
1y 6m
BSD-2-Clause

Toolchains for crosscompiling with CMake.

70
27
9m
n/a

CMake scripts for Staticlibs projects

7
5
3y 6m
Apache-2.0

CMake toolchain for all Arduino compatible boards

86
21
2y 5m
MIT

Examples / Templates

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

739
108
10m
MIT
30
4
5y 11m
BSD-2-Clause

CMake: config mode of find_package command (examples)

341
52
2y 8m
n/a

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

151
35
5y 45d
CC0-1.0

Example project which demonstrates various CMake features.

139
51
2y 11m
BSD-3-Clause

Useful CMake Examples

7.66K
1.79K
1y 77d
MIT

A minimal CMake template for Qt 5 & 6 projects

170
29
1y 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
1y 5m
n/a

A small c++ template with modern CMake

248
40
11m
MIT

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

271
44
1y 10m
MIT

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

543
59
1y 8m
MIT

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

27
7
1y 84d
MIT

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

61
9
4y 4m
CC0-1.0

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

108
11
2y 5m
n/a

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

48
5
3y 4m
BSD-3-Clause

CMake Cookbook recipes.

1.53K
430
2y 92d
n/a

A template C++ repository, using CMake and Catch

39
9
2y 5m
n/a

Pitchfork is a Set of C++ Project Conventions

605
35
3y 10m
MIT

A collection of as simple as possible, modern CMake projects

924
49
1y 9m
MIT

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

445
114
1y 86d
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.49K
192
1y 39d
Unlicense

Other

CMake plugin composer.

34
11
2y 7m
BSD-3-Clause

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

301
88
9m
n/a

CMake-based build system for node.js native modules

71
22
2y 10m
ISC

Emacs Font-lock rules for CMake

37
5
11m
GPL-3.0

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

107
15
4y 117d
GPL-3.0

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

264
270
12m
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

359
203
2y 10m
BSD-3-Clause

CMake scripts for building OpenSceneGraph third party libraries.

142
104
1y 112d
Unlicense

cmake for D2

53
14
1y 87d
MIT

Enhanced CMake Project Manager plugin for Qt Creator

70
9
9m
n/a

Check for coding style issues in CMake files

96
16
5y 6m
Apache-2.0

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

48
13
5y 39d
Unlicense

Autotools-style configure script wrapper around CMake

79
6
5y 5m
CC0-1.0

Python module to reduce a cmake file to an AST

26
9
4y 5m
MIT

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

55
5
3y 9m
n/a

Static analysis for CMake files.

20
5
3y 4m
MIT

CMake LSP Implementation

128
13
1y 54d
MIT

Project to enable using CMake from a Maven build.

57
9
9m
n/a

Bake git information into your binary.

0
0
7m
MIT