Lectem 9ef6d1989f Add cpp-boilerplate to the templates list (#14)
This repository was created because it is hard to find a good moden CMake template. While it is not perfect, most design choices are documented and CMake anti-patterns are avoided.

Some features :

* Modern CMakeLists.txt, almost fully documented
* CI using travis and appveyor
* tests setup using doctest
* Coverage, by adding a new build type if supported by the compiler
* CTest/CDash setup with script for CI
* some scripts such as :
 - LTO configuration
 - Warnings setup
 - RunFixupBundle.cmake script : A small wrapper around fixup_bundle (no more pain with .DLLs when using visual)
 - ...
2017-08-14 15:25:49 +03:00
2016-09-08 19:50:36 +03:00

Awesome CMake Awesome

A curated list of awesome CMake scripts, modules, examples and others

Your contributions are highly welcome (first see CONTRIBUTING.md).

Contents

Community

Resources

Package Management / Build Systems

  • hunter - Cross-platform package manager for C++ (based on CMake ExternalProject). [BSD2]
  • cget - CMake package retrieval. This can be used to download and install CMake packages. [BOOST]
  • cppan - C++ Archive Network - C++ Package Manager based on CMake, implemented in C++14. [APACHE2]
  • cpm - C++ Package Manager based on CMake and Git. [MIT]
  • conan - Conan C++ Package Manager, implemented in Python and has a CMake integration backend. [MIT]
  • fips - High-level build system/dependency management for distributed, multi-platform C/C++ projects. [MIT]
  • Ninja - Build system that differs from others in two major respects: it is designed to have its input files generated by a higher-level build system (like CMake), and it is designed to run builds as fast as possible. [APACHE2]
  • Vcpkg - A tool to acquire and build C++ open source libraries on Windows. Vcpkg uses CMake internally as a build scripting language. [MIT]

Modules

Utility Scripts

These provide a wide range of functionality - from dealing with compiler flags to using tools. Some also contain modules.

Toolchains

  • dockcross - Cross compiling toolchains in Docker images. [MIT]
  • android-cmake - CMake toolchain file and other scripts for the Android NDK. [BSD3]
  • ios-cmake - Toolchain file and examples using CMake for iOS development. [BSD3]
  • qt-android-cmake - For building and deploying Qt based apps on Android without QtCreator. [LICENSE]
  • mingw-w64-cmake - CMake-based MinGW-w64 Cross Toolchain - to build Windows binaries of mpv. [ISC]
  • cmake-avr - CMake toolchain for AVR. [LICENSE]
  • arduino-cmake - This is the CMake project settings for the Arduino platform. [MPL]
  • polly - Collection of CMake toolchain files and scripts for cross-platform build and CI testing. [BSD2]
  • toolchains - For crosscompiling with CMake. They are meant to be mainly used on ArchLinux. [NO LICENSE]
  • cmake - Collection of CMake toolchain files, mostly for static linking. [APACHE2]

Tutorials / Examples / Templates

Other

License

This is released under the Creative Commons Attribution 4.0 International License (CC BY 4.0).

Description
A curated list of awesome CMake resources, scripts, modules and examples.
Readme 308 KiB
Languages
Markdown 100%