Accueil > Formations > DevOps, Automation & SRE > CI/CD & Usine Logicielle > CMake
CMake
Explorez tout le potentiel de CMake pour structurer, configurer, tester et déployer vos projets C++ !
Vue d'ensemble
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é.
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).
Objectifs pédagogiques
Programme détaillé
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
Prochaines sessions
Avis des participants
Financement
Cette formation est éligible aux financements OPCO et FNE-Formation. Nos équipes vous accompagnent dans le montage de votre dossier.
En savoir plus sur le financement
