This CMake training covers how to efficiently write CMake scripts for small to larger projects along with best practices. This training also provides an overview of unit testing with CTest, packaging with CPack and continuous integration with CDash.

This training mixes theory and application with a set of tutorials and exercises.

Objectives

  • Understand the basics of CMake (variables, cache, flow, etc.)
  • Learn the best practice of Modern CMake
  • Configure simple and complex projects with CMake
  • Learn about the companion CMake tools: CPack, CTest and CDash

Prerequisites

  • C/C++ : Basic knowledge

Agenda

This course is approximately 12 hours, which can be divided into 3 sessions.

Getting started with CMake

  • CMake’s major features
  • CMake configuration workflow
  • Running CMake

Setup projects with CMake

  • CMake syntax: variables, cache, and flow management
  • Building libraries and executables
  • Overview of Modern CMake’s target-centric approach
  • Tips to speed up your builds

Modern CMake

  • Generator expressions
  • Installing targets
  • Tips to improve your CMake scripts

Companion tools

  • Writing tests with CTest
  • Coverage and dynamic analysis
  • Overview of CDash
  • Introduction to the packaging tool: CPack

Modern CMake

  • Importing and exporting targets
  • CMake’s Policy System
  • External Project & FetchContent
  • Noteworthy Changes from Recent CMake Releases

Advanced topics

  • MPI Support
  • CUDA Support
  • Cross Compilation
  • Fortran Support

Next Public Course

January 28, 2025, 1-5 pm, ET
January 29, 2025, 1-5 pm, ET
January 30, 2025, 1-5 pm, ET

Instructor: TBD
Duration: 12 hours
Venue: Remote
Language: English

Early Bird Registration: $1,190
Use code CMAKETRAINING
Register by January 14, 2025

Standard Registration: $1,490

Are you a student?

Register using your school email address for special student pricing.

Early Bird Student: $600
Use code CMAKE-STUDENT-EARLY
Register by January 14, 2025

Student: $750
Use code CMAKE-STUDENT

*Discounts may not be combined.

Register

Private Team Training

Our expert instructors can train your team online or at your site. The course syllabus can be customized for your needs.

Get a Quote