Formation CMake
La deuxième partie de cette formation porte sur les tests unitaires avec CTest, le packaging avec CPack et l’intégration continue avec CDash.
Cette formation allie théorie et pratique par le biais de tutoriels et d’exercices.
Objectifs
- Comprendre la configuration de projets simples et complexes avec CMake
- Prendre en main l’outil de configuration CMake (variables, cache, flow, …)
- Apprendre l’approche moderne de CMake, centrée autour des targets
- Exporter et importer des projets CMake
- Automatiser le build en utilisant des fonctionnalités de CMake
- Créer des SuperBuilds qui téléchargent, configurent, buildent et installent les dépendances du projet
- Tester et packager des libraries/applications avec CTest et CPack
Prérequis
C/C++ : Connaissances de base du langage et du processus de compilation
Jour 1
- Premiers pas avec CMake
- Historique de CMake
- Les avantages de CMake
- Fonctionnalités principales de CMake et configuration du pipeline
- Workflow de CMake
- Intégration dans les IDEs
- Démarrer un projet CMake
- Démarrer un projet CMake
- Passer des définitions et options au compilateur
- Les variables dans CMake et commandes haut niveau
- Étendre les fonctionnalités de CMake avec les fonctions, macros et l’inclusion de fichiers
- Optimiser la compilation avec les build configurations
- Utiliser le cache pour configurer la compilation
- CMake moderne et bonnes pratiques
- Convertir du CMake legacy en CMake moderne
- Bonnes pratiques avec une approche centrées sur les targets
- Ajuster la propagation des propriétés de targets dépendantes
- Utiliser les presets pour configurer CMake en ajoutant des variables pré-définies dans CMake ou des variables d’environnement.
Jour 2
- Installation et export
- Présentation des file sets pour faciliter la gestion des headers et include directories
- Préparer le packaging en ajoutant des règles d’installation
- Exporter les targets du projet avec un fichier CONFIG
- Importer les targets exportées avec find_package
- Automatisation de la compilation
- Utiliser des variables pré-définies pour changer comment et ou les fichiers sont générés
- Lancer des commandes arbitraires à des moment précis de la configuration ou de la compilation
- Utiliser CMake comme un script engine pour lancer des scripts cross-platform
- Introspection du système et recherche de dépendances
- Utiliser try_compile et try_run pour obtenir des informations spécifiques sur la machine pour laquelle on compile
- Utiliser des fonction utilitaires dédiées pour faciliter l’utilisation de try_compile et try_run
- Comprendre les FindModules et comment les utiliser
- Ecrire des FindModules pour importer des projets non compatibles avec CMake
- Comprendre comment les FindModules trouvent des fichiers sur la machine hôte
- Écrire des tests unitaires avec CTest
- Présentation de l’outil de lancement de tests : CTest
- Intégration de CTest dans d’autres frameworks
- Packaging avec CPack
- Présentation de l’outil de packaging: CPack (fourni avec CMake)
- Créer rapidement et efficacement des packages et installeurs pour plusieurs plateformes : Windows, Mac, Linux (Debian installers and Yum)
- Rapide présentation de CDash: une application web de dashboard de test
- Gestion des libraries shared
- Mélanger les types de librairies
- Gérer la visibilité des symboles dans MSVC
- Cross-compilation
- Introduction à la cross-compilation avec CMake
- Écrire des fichiers toolchain pour cross-compiler pour différentes machines : microcontrôleurs, smartphones, différents systèmes d’exploitation…
- Chapitres optionnels – Couverts si le temps le permet et selon l’intérêt des participants
- Accélérer vos compilations en intégrant ccache
- CMake policies (Comment utiliser des fonctionnalités modernes de CMake dans du code ancien)
- External Projects – Télécharger, patcher, configurer, compiler, tester et installer vos dépendances automatiquement
- Présentation du package manager Conan
- Créer des configuration de build dépendantes du build configuration avec les generator expressions
- Conclusion
- Conseils pour maintenir la qualité de votre code et le débugger
- Présentation rapide des dernières fonctionnalités de CMake
Cette formation sera donnée en anglais sauf si tous les participants maîtrisent la langue française.
Pour cette formation, chaque participant doit venir avec son ordinateur portable. Les spécificités d’installation seront communiquées en amont par l’instructeur.
Les supports de cours sont en anglais.
Les formations Kitware peuvent être personnalisées et dispensées selon vos besoins aux centres de formation Kitware (En Europe: Lyon, France; ou aux USA: Clifton Park, New York; Carrboro, North Carolina; Santa Fe, New Mexico) ou dans votre entreprise (demande de devis).
Informations Pratiques
Durée: 2 journées
Prochaine Date: 30 & 31 mars 2026
Lieu: En ligne
Prix: 1 560€
Formation en Entreprise
Nous proposons des formations personnalisées en entreprise.
A propos du formateur

Alexy a rejoint l’équipe Kitware Europe en tant que Développeur Logiciel en janvier 2022.
Après l’obtention de son baccalauréat scientifique, Alexy a travaillé sur différents projets personnels pendant plus de deux ans.
En tant que programmeur passionné, Alexy a réussi à développer de très solides compétences en C++.