Awesome CMake 
A curated list of awesome CMake scripts, modules, examples and others
Your contributions are highly welcome (first see CONTRIBUTING.md).
There is another file NonModernCMake.md with other links worth taking a look, but they use obsolete practices which are considered non-modern - like not using target_*-based dependency management - see #16 and #42 for more details.
Contents
- Community
- Resources
- Package Management / Build Systems
- Modules
- Utility Scripts
- Toolchains
- Examples / Templates
- Other
Community
Resources
- Latest Documentation
- FAQ
- Wiki
- Webinars
- Web Book - CGold: The Hitchhiker’s Guide to the CMake. [
[BSD2]][BSD-2-Clause] - Modern CMake - Modern CMake PDF and samples by the creator of cmakepp. [
[MIT]][MIT] - Tutorial - Modern CMake tutorials part1: CMake basics
- Article - Easily supporting CMake install and find_package().
- Article - Easy dependency management for C++ with CMake and Git.
- Article - Opt-in header-only libraries with CMake.
- Article - Ultimate Guide to Modern CMake.
- Article - A list of common CMake antipatterns (from 2013 but still relevant).
- Article - How to Build a CMake-Based Project.
- Article - Learn CMake's Scripting Language in 15 Minutes.
- Article - The architecture of CMake.
- Lecture - Effective CMake - by Daniel Pfeifer, C++Now 2017.
- Article - Building Cross-Platform CUDA Applications with CMake.
- Tutorial - A step-by-step guide for understanding CMake.
- Article + Lecture - Embracing Modern CMake - by Stephen Kelly.
- Lecture - Modern CMake for Modular Design - by Mathieu Ropert, CppCon 2017.
- Article - It's Time To Do CMake Right (one of the best articles about CMake).
- Articles - A series on CMake - by Martin Hořeňovský
- Lecture - Introduction to CMake - by Florent Castelli, C++ Sweden 2018.
- Article - Some nice and accurate CMake tips.
- Article - Modern CMake for Library Developers.
- Article - Effective Modern CMake: a great summary of most good practices - by Manuel Binna.
- Book - Professional CMake: A Practical Guide (paid).
- Book - Effective CMake: Practical Advice to Write Better CMake (not fully written yet).
- Web Book - An Introduction to Modern CMake.
- YouTube Series - How to CMake Good. [
[CC0-1.0]][CC0-1.0]