Formation CMake

Notre formation CMake aborde de manière approfondie les fonctionnalités de CMake et présente les modalités de rédaction de scripts CMakes efficaces pour les projets de toutes tailles.

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.

formation cmake logo

Objectifs

  1. Comprendre la configuration de projets simples et complexes avec CMake
  2. Prendre en main l’outil de configuration CMake
  3. Expérimenter avec l’écriture de tests unitaires à l’aide de CTest
  4. Expérimenter le packaging avec CPack
  5. Prendre en main l’outil de reporting CDash

Prérequis

C/C++ : Connaissances de base

Jour 1

  • Prise en main de CMake
    • L’histoire de CMake
    • Les avantages de CMake
    • Les principales fonctionnalités de CMake
    • Configuration du pipeline CMake
  • Configuration de projets avec CMake
    • Syntaxe de CMake : variables, utilisation du cache et gestion du workflow
    • Utilisation des modules, gestion des packages externes, configuration du système et commandes d’installation
    • Comprendre le fonctionnement par introspection du système
    • Communication de paramètres au compilateur et écriture de commandes spécifiques (macros, fonctions)
    • Optimisation de la gestion des bibliothèques
  • Ecriture de tests unitaires avec CTest
    • Présentation avancée de l’outil de gestion de tests unitaires : CTest
    • Tester rapidement et efficacement les applications et algorithmes
    • Intégration de CTest à d’autres outils de tests
  • Bonnes pratiques du CMake moderne
    • Comment convertir ses scripts vers vers CMake moderne
    • Bonnes pratiques avec l’approche target-based
    • Conseils pour déboguer vos scripts CMake 
    • Configuration avancée de la propagation des propriétés de targetspar les dépendances

Jour 2

  • Création de packs avec CPack
    • Introduction à l’outil : CPack (fourni avec CMake)
    • Génération rapide et efficace de packs sur différentes plateformes : Windows, Mac, Linux (installeurs Debian et Yum)
  • Configurations prédéfinies
    • Configurer l’environnement CMake pour paramétrer, compiler, tester et créer des packs pour votre projet 
    • Configuration automatique des variables d’environnement ou des variables CMake prédéfinies 
  • Intégration continue avec CDash
    • Implémentation d’un prototype pour l’intégration continue d’un système
    • Envoi de tests unitaire au site web de CDash
    • Maintenir une vue globale sur la qualité d’un logiciel
    • Fonctionnalités uniques de CDash : couverture de code, analyse mémoire, configuration client
  • CMake Avancé
    • Mélanger les types de bibliothèques
    • Visibilité des symboles
    • Expressions du générateur
    • Import et export de votre projet CMake (Config Modules)
    • Gérer les bibliothèquesinternes et externes
    • Compilation cross-plateforme
  • Projets externes
    • Télécharger, patcher, configurer, compiler, tester et installer vos dépendances automatiquement
    • Intégrer Superbuild à votre projet
    • Présentation du package manager Conan

      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.
      Le repas du midi est inclus.

      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: 13-14 mars 2023
      Lieu: En ligne (webinar)
      Prix: 1 500€ (Kitware est agréé centre de formation)

      Formation en Entreprise

       Nous proposons des formations personnalisées en entreprise.

      A propos du formateur

      Paul Choisel a rejoint l’équipe Kitware Europe en novembre 2019 en tant qu’ingénieur R&D au sein de l’équipe Développement Applicatif.

      Avant de rejoindre Kitware, Paul a travaillé comme développeur C ++ / Python pour une start-up basée à Lyon, où il a développé des POC pour des objets connectés.

      Son expertise en C ++ et en Python est utilisée pour différents projets au sein de l’équipe de Développement Applicatif.