# CMake Tutorial

## Introduction

The CMake tutorial provides a step-by-step guide that covers common build system issues that CMake helps address. Seeing how various topics all work together in an example project can be very helpful.

## Steps

The tutorial documentation and source code for examples can be found in the `Help/guide/tutorial` directory of the CMake source code tree. Each step has its own subdirectory containing code that may be used as a starting point. The tutorial examples are progressive so that each step provides the complete solution for the previous step.

- Step 1: A Basic Starting Point
  - Adding a Version Number and Configured Header File
  - Specify the C++ Standard
  - Build and Test
- Step 2: Adding a Library
- Step 3: Adding Usage Requirements for a Library
- Step 4: Installing and Testing
  - Install Rules
  - Testing Support
- Step 5: Adding System Introspection
- Step 6: Adding a Custom Command and Generated File
- Step 7: Packaging an Installer
- Step 8: Adding Support for a Testing Dashboard
- Step 9: Selecting Static or Shared Libraries
- Step 10: Adding Generator Expressions
- Step 11: Adding Export Configuration
- Step 12: Packaging Debug and Release