Project Awesome project awesome

CMake

Build, test, and package software.

Collection 5.4k stars GitHub

Modules

cmake-modules 1.1k updated 1y ago

Ryan Pavlik's collection of CMake modules. There are a number of find modules, especially for virtual reality and physical simulation, some utility modules, and some patches or workarounds for CMake itself. [``[BOOST]``][BOOST]

cmake-modules 587 updated 9d ago

This is a collection of additional CMake modules. Most of them are from Ryan Pavlik. [``[BOOST]``][BOOST]

CMake 155 updated 2y ago

Eyescale's common CMake modules. [``[BSD3]``][BSD-3-Clause]

cmake-modules 87 updated 5y ago

CMake modules for some scientific libraries. [``[BSD2]``][BSD-2-Clause]

cgcmake 131 updated 4y ago

CMake modules for common applications related to computer graphics. [``[MIT]``][MIT]

FindMathematica 64 updated 7mo ago

CMake module for Mathematica. [``[MIT]``][MIT]

extra-cmake-modules 151 updated 2d ago

KDE's extra modules and scripts for CMake. [``[BSD3]``][BSD-3-Clause]

FindICU.cmake 30 updated 9y ago

CMake module to find International Components for Unicode (ICU) Library. [``[BSD2]``][BSD-2-Clause]

FindTBB 89 updated 8y ago

CMake find module for Intel Threading Building Blocks. [``[MIT]``][MIT]

FindWiX 18 updated 3y ago

CMake module for building Windows Installer packages with WiX toolset. [``[BSD3]``][BSD-3-Clause]

FindIDL 25 updated 1y ago

CMake module for building IDL files with MIDL and generating CLR DLL using Tlbimp. [``[MIT]``][MIT]

cmake-modules 31 updated 11y ago

hanjianwei's CMake module collection. [``[MIT]``][MIT]

YCM

Extra CMake Modules for Yet Another Robot Platform and friends. [``[BSD3]``][BSD-3-Clause]

CMakeCM 2 updated 3y ago

CMake Community Modules. ``[NO LICENSE]``

Metabench 188 updated 4y ago

CMake module for compile-time benchmarks. [``[BOOST]``][BOOST]

Oranges

Ben Vining's library of CMake modules and toolchains [``[GPL]``][GPL]

Utility Scripts

cotire 1.3k (archived)

Cotire (compile time reducer) is a CMake module that speeds up the build process of CMake based build systems by fully automating techniques as precompiled headers and unity builds for C and C++.

ucm 213 updated 3y ago

For managing compiler/linker flags, collecting sources, precompiled headers, unity builds and others.

cmakepp

Enhancement Suite for the CMake Build System.

sugar

CMake tools and examples: collecting source files, warnings suppression, etc.

DownloadProject 445 (archived)

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

buildem 27 (archived)

Modular CMake-based system that leverages ExternalProject to simplify builds.

coveralls-cmake 87 updated 6y ago

Coveralls JSON coverage generator and uploader for CMake.

compatibility 74 (archived)

Improved version of cmake-compile-features.

cmake-modules 45 updated 3y ago

LibFindMacros development repository and other cool CMake stuff.

GreatCMakeCookOff 44 updated 2y ago

This is a repository of useful and less than useful CMake recipes.

cppcheck-target-cmake 18 updated 9y ago

Per-target CPPCheck for CMake.

clang-tidy-target-cmake 16 updated 9y ago

Add clang-tidy checks to a target using CMake.

cmake-unit 38 updated 8y ago

Unit testing framework for CMake.

cmake-header-language 4 updated 9y ago

CMake macro to determine the language of a header file.

tooling-cmake-util 3 updated 9y ago

Utility and common library for all polysquare CMake tools.

iwyu-target-cmake 10 updated 9y ago

CMake integration for include-what-you-use.

sanitizers-cmake 407 updated 4mo ago

CMake module to enable sanitizers for binary targets.

cmake-precompiled-header 160 updated 6y ago

Visual Studio and GCC precompiled header macro.

CMakePCHCompiler 103 updated 6y ago

CMake precompiled headers via custom compiler extension - with reuse support!

CMake-codecov 96 updated 10mo ago

Enables code coverage and generates coverage reports with CMake targets.

cmake-get 63 updated 7y ago

Get dependencies in config or script mode.

ixm 103 (archived)

Make CMake less painful when trying to write Modern Flexible CMake.

CMakeCooking

Flexible development environments for CMake projects with external dependencies.

fetch_paths.cmake updated 11mo ago

Lightweight utility to simplify file/directory path retrieval in CMake, supporting dynamic searches and flexible output formats.

Examples / Templates

cmake-init 935 updated 11mo ago

Template for reliable, cross-platform C++ project setup using CMake. [``[LICENSE]``](https://github.com/cginternals/cmake-init/blob/master/LICENSE)

android-cmake 35 updated 9y ago

Examples of using ruslo/hunter package manager for an Android application. [``[BSD2]``][BSD-2-Clause]

hunter-simple 51 updated 7y ago

Example of downloading/installing dependencies using ruslo/hunter package manager. [``[BSD2]``][BSD-2-Clause]

package-example 405 updated 4y ago

Config mode of find_package (examples for this Stack Overflow question). ``[NO LICENSE]``

minimal_cmake_example 211 updated 7y ago

Minimal CMake example, that covers dependencies and packaging. [``[CC0-1.0]``][CC0-1.0]

cmake-example

Example project which demonstrates various CMake features. [``[BSD3]``][BSD-3-Clause]

cmake-examples 13.1k updated 2y ago

Useful CMake examples in a tutorial format. [``[MIT]``][MIT]

mini-cmake-qt 220 updated 7mo ago

Minimal CMake template for Qt 5 projects. [``[LICENSE]``](https://github.com/euler0/mini-cmake-qt/blob/master/LICENSE)

BASIS 49 updated 4y ago

CMake BASIS makes it easy to create sharable software and libraries that work together. [``[BSD2]``][BSD-2-Clause]

cpp-boilerplate 328 updated 7mo ago

Template that aims to be a reference for modern CMake and CI. [``[MIT]``][MIT]

how-to-export-cpp-library 374 updated 5y ago

An OS-agnostic template project for exporting either shared, static or header-only C++ library, sporting ctest and CI support, written in plain CMake with line-by-line tutorial comments. [``[MIT]``][MIT]

modern-cmake-sample 677 updated 5y ago

Best practices and proper usage of CMake by using targets. ``[NO LICENSE]``

CMakeInstallExample 38 updated 4y ago

Installation example for a C++ project (Windows) with Cmake. ``[NO LICENSE]``

cpp14-project-template 68 updated 7y ago

A C++14 template with CI, tests, code coverage, docs and static analysis integration. [``[CC0-1.0]``][CC0-1.0]

cmake_templates 125 updated 3y ago

Templates for creating C++ libraries and executables (including conan). ``[NO LICENSE]``

cmake_snippets 52 updated 6y ago

Short copy-pasteable CMake snippets. [``[BSD3]``][BSD-3-Clause]

cmake-cookbook 2.8k updated 4y ago

A huge CMake cookbook full of recipes. [``[MIT]``][MIT]

cpp-template 53 updated 3y ago

A template C++ repository, using CMake and Catch. ``[NO LICENSE]``

pitchfork 1.2k updated 1y ago

A set of conventions for native C and C++ projects. [``[MIT]``][MIT]

cmake-examples 1.2k updated 1y ago

A collection of as simple as possible, modern CMake projects. [``[MIT]``][MIT]

cpp-project 620 updated 2y ago

Boiler plate for C++ projects - tests, CI, coverage, docs. [``[UNLICENSE]``][UNLICENSE]

ModernCppStarter 5.3k updated 1y ago

A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management, tests using doctest and much more. [``[UNLICENSE]``][UNLICENSE]

SeeMake 12 updated 4d ago

A feature-packed, ready-to-use CMake template with testing, static and dynamic checks, coverage reports, and more. [``[MIT]``][MIT]

Other

autocmake 43 updated 3y ago

Using a autocmake.yml file Autocmake composes CMake building blocks into a CMake project and generates CMakeLists.txt as well as a setup script, which serves as a front-end to CMakeLists.txt. [``[BSD3]``][BSD-3-Clause]

scikit-build 530 updated 2d ago

Improved build system generator for CPython C extensions. [``[MIT]``][MIT]

node-cmake 77 (archived)

CMake-based build system for node.js native modules. [``[ISC]``][ISC]

cmake-font-lock

Advanced syntax coloring support for CMake scripts inside Emacs. [``[GPL]``][GPL]

autovala 105 (archived)

Program that automatically generates CMake configuration files for your Vala project. [``[GPL]``][GPL]

catkin 340 (archived)

CMake-based build system that is used to build all packages in Robot Operating System (ROS). [``[BSD3]``][BSD-3-Clause]

suitesparse-metis-for-windows 466 updated 2y ago

CMake scripts for painless usage of SuiteSparse+METIS. [``[BSD3]``][BSD-3-Clause]

osg-3rdparty-cmake 197 updated 3y ago

CMake scripts for building OpenSceneGraph third party libraries. ``[MIXED LICENSE]``

cmake-d 66 updated 2y ago

CMake for D2. [``[MIT]``][MIT]

cmakeprojectmanager2 73 updated 1y ago

Enhanced CMake Project Manager plugin for Qt Creator. ``[NO LICENSE]``

cmake-lint 102 (archived)

Check for coding style issues in CMake files. cmakelint requires Python. [``[APACHE2]``][APACHE2]

git-cmake-format 59 updated 8y ago

Integrate clang-format into your CMake project hosted in a git repository. [``[LICENSE]``](https://github.com/kbenzie/git-cmake-format/blob/master/license.txt)

configure-cmake 87 updated 8y ago

configure-cmake is an autotools-style configure script for CMake-based projects. [``[CC0-1.0]``][CC0-1.0]

cmake-ast 31 updated 4y ago

Python module to reduce a CMake file to an AST. [``[MIT]``][MIT]

cmake-checks-cache 86 updated 4y ago

CMake checks cache helper modules. [``[MIT]``][MIT]

cmake_check 23 (archived)

Static analysis (linter) for the CMake language (e.g. to enforce modern CMake rules). [``[MIT]``][MIT]

cmake-language-server 404 updated 1y ago

CMake Language Server Protocol Implementation. [``[MIT]``][MIT]

cmake-maven-plugin 82 updated 29d ago

CMake integration for Maven builds. [``[APACHE2]``][APACHE2]

version-from-git 6 updated 3y ago

Bake git information into your binary. [``[MIT]``][MIT]

SoCMake 36 updated 2d ago

CMake based build system for hardware (ASIC, FPGA) and System-on-Chip build automation. [``[LGPL]``][LGPL]