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
- Expérimenter avec l’écriture de tests unitaires à l’aide de CTest
- Expérimenter le packaging avec CPack
- Prendre en main l’outil de reporting CDash
Prérequis
C/C++ : Connaissances de base
Jour 1
-
Premiers pas avec CMake
-
Historique de CMake
-
Les avantages de CMake
-
Fonctionnalités principales de CMake et configuration du pipeline
-
Démarrer un projet CMake
-
Syntaxe de CMake: variables, utilisation du cache, gestions des phases de configuration
-
Démarrer un projet CMake
-
Passer des définitions et options au compilateur
-
Étendre les fonctionnalités de CMake avec les fonctions, macros et l’inclusion de fichiers
-
Optimiser la compilation avec les build configurations
-
Optimiser la gestion des librairies
-
Bonne pratiques d’un code CMake moderne
-
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
-
Créer des configuration de build dépendantes du build configuration avec les generator expressions
-
Comprendre l’introspection du système
-
Préparer le packaging en ajoutant des règles d’installation
-
Écrire des tests unitaires avec CTest
-
Présentation de l’outil de lancement de tests : CTest
-
Tester rapidement et facilement des applications et algorithmes
-
Intégration de CTest dans d’autres frameworks
-
Implémenter des tests d’intégration avec les fixtures
Jour 2
-
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)
-
Introspection du système
-
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
-
Utiliser les fonctionnalités try_compile et try_run pour récupérer des informations spécifiques à la machine hôte
-
CMake Presets
-
Préparer l’environnement de CMake pour configurer, compiler, tester et packager votre projet
-
Définir automatiquement des variables d’environnement ou des variables CMake
-
Intégration continue avec CDash
-
Implémenter un prototype d’intégration continue
-
Envoyer les résultats des tests à CDash
-
Maintenir un aperçu global de la qualité du code
-
Fonctionnalité de CDash : code coverage, analyse mémoire, configuration de compilation
-
CMake avancé
-
Utiliser CMake pour lancer des commandes arbitraires à des moment précis de la compilation
-
Mélanger les types de librairies
-
Gérer la visibilité des symboles dans MSVC
-
Exporter et importer vos projets CMake (Config Modules)
-
Gérer les librairies internes et externes
-
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
-
Faire de la cross-compilation avec CMake
-
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
-
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 septembre & 1er Octobre 2024
Lieu: En ligne
Prix: 1 500€
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++.