Formation CMake.
Score de satisfaction : 4.81/5
Durée :
2 jours
Distanciel et 16 villes en France
numero vert : 0805 950 800 (service et appel gratuits)
à partir de
1500 €HT
96% d'avis positifs* participants

Référence :
SF34355
Durée :
2 jours

En présentiel ou distanciel


  • 14 heures de formation
  • Exercices pratiques
  • Prise en charge OPCO possible
Vous souhaitez personnaliser cette formation ?
  • En entreprise ou à distance
  • Audit gratuit
  • Programme de formation sur mesure
  • Formateur expert dédié
  • Prise en charge OPCO possible

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é.

Objectifs pédagogiques.

1Comprendre et appliquer les principes fondamentaux de CMake dans un projet C++

2Structurer un projet en utilisant les cibles, propriétés et options de configuration de manière propre et maintenable

3Utiliser efficacement le cache, les options CMake, les générateurs d’expressions et les presets

4Gérer les dépendances internes et externes

5Intégrer des frameworks de tests unitaires avec CTest et automatiser le reporting

6Mettre en place la cross-compilation avec un fichier toolchain adapté

7Utiliser des outils d’analyse (Sanitizers, Clang-Tidy) et accélérer les builds avec CCache

8Préparer une installation propre du projet, l’exporter, et créer des packages avec CPack

Public :
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).
Partagez cette formation

Programme de formation CMake.

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

Notre charte qualité et éthique.

A travers sa Charte Engagement Qualité, Sparks s’engage à tout mettre en œuvre pour que chaque session de formation soit un succès et que votre satisfaction soit totale.

Amandine de Sparks
Des chiffres étincelants.
20 années
à vos côtés
+ de 1000
sujets de formation
8702
stagiaires formés en 2024
252
formateurs actifs en 2024
97,9%
de stagiaires satisfaits
23793
heures de formation réalisées en 2024
HAUT