Formation CMake

4.8/5
Note moyenne sur 4 567 formations

Formation CMake

Explorez tout le potentiel de CMake pour structurer, configurer, tester et déployer vos projets C++ !

Cette formation complète vous plonge dans l’univers de CMake, l’outil incontournable pour la génération de builds multiplateformes dans les projets C++. À travers des exemples concrets et des mises en pratique guidées, vous découvrirez les concepts clés de CMake moderne, apprendrez à structurer proprement vos projets, à gérer les dépendances, à packager vos applications et à automatiser vos tests.



Vous aborderez également des thématiques avancées telles que la cross-compilation, l’intégration avec les IDE, l’optimisation des builds, ou encore l’utilisation d’outils de diagnostic comme Clang-Tidy ou les Sanitizers. La formation inclut enfin une ouverture sur les bonnes pratiques en matière de performances et de portabilité.

Prérequis

Maîtrise du langage C++ (niveau intermédiaire à avancé). Bonne compréhension du processus de compilation (compilation, linkage, exécution). Connaissances de base d’un système de build (Make, CMake ou autre) appréciées. Environnement de développement C++ fonctionnel (compilateur, IDE, terminal).

Découverte de CMake

Histoire et avantages de CMake
Rappels (si besoin) des phases de compilation d’un programme natif
Concepts fondamentaux, examples d’utilisation

Premier projet

Syntaxe et fonctions de base
Utilisation du cache
Linker des bibliothèques
Targets et transitivité des propriétés
Organisation du projet

Customisation

Options CMake
Types de configuration
Définitions, options de compilation
Generator expressions
CMake moderne: ce qu’il ne faut pas faire

Comment packager son projet

Définition de la target d’installation
Différences entre les plateformes
Exporter son projet
Introduction à CPack

Comment consommer des dépendances

Présentation des différentes approches
Import d’une dépendance
Utilisation d’un package manager tel que VCPKG ou CPM

Écrire des tests avec CTests

Overview de l’outil
Intégration avec un framework de test (GoogleTest, Catch2, doctest)
Reporting

Cross-compilation

Qu’est-ce qu’un fichier de toolchain ?
Comment l’utiliser, exemple avec emscripten
Écrire son propre fichier de toolchain pour cross-compiler
Comment builder un outil nécessaire à la cross-compilation ?

Tooling

Intégration avec les IDEs
Sanitizers (AddressSanitizer, ThreadSanitizer, …)
Clang-tidy

Presets CMake

Partager facilement une configuration de build
Pré-configurer pour le tooling

Techniques avancées

Gestion des shared libraries
Gestion des symbols de debug
Link time optimizations (interprocedural optimizations)
Lancer des commandes personnalisées pour générer des fichiers
(numéro de version et SHA de commit git)
Vérifier si une option de compilation est supportée

Bonus (en fonction du temps restant et besoins des participants)

CMake policies
Utilisation de CCache pour accélerer le build
Intégration avec Android NDK
Profiling du temps de compilation

Sur mesure

Disponible à distance

Réf.
SF34355

Durée : 2 jours

A partir de : 1500 € HT

Disponible à distance

Réf.
SF34355

Durée : 2 jours

soit 14 heures de formation

Disponible à distance

Réf.
SF34355

Durée : 2 jours

soit 14 heures de formation

Disponible à distance

Réf.
SF34355

Durée : 2 jours

A partir de : 1500 € HT