Am Ende des Seminars sind die Teilnehmenden in der Lage, eigene CMake-Projekte zu erstellen, zu konfigurieren und zu verwalten sowie fortgeschrittene CMake-Konzepte anzuwenden.
Was ist CMake: Erklärung der Funktion und Bedeutung von CMake in der Softwareentwicklung.
Vorteile von CMake: Diskussion der Vorteile von CMake gegenüber anderen Build-Systemen und Makefiles.
Installation und Einrichtung
Installation von CMake: Schritt-für-Schritt-Anleitung zur Installation von CMake auf verschiedenen Betriebssystemen (Windows, macOS, Linux).
Einrichtung der Entwicklungsumgebung: Konfiguration der Entwicklungsumgebung und Integration von CMake in gängige IDEs wie Visual Studio, CLion und VS Code.
Grundlegende CMake-Syntax und -Befehle
Erstellen einer einfachen CMakeLists.txt: Einführung in die grundlegenden Befehle und die Struktur einer CMakeLists.txt-Datei.
Verstehen von Zielen und Quellen: Definition von Zielen (Targets) und Hinzufügen von Quell- und Header-Dateien zum Build.
Projektstruktur und Organisation
Organisieren von Projekten: Best Practices zur Organisation von Projekten mit CMake, einschließlich der Strukturierung von Quellverzeichnissen und modularen CMakeLists.txt-Dateien.
Einfache Projekte und Hierarchien: Erstellung und Verwaltung einfacher Projekte und hierarchischer Projekte mit mehreren Unterverzeichnissen.
Erstellung von Bibliotheken
Statische und dynamische Bibliotheken: Anleitung zur Erstellung statischer (STATIC) und dynamischer (SHARED) Bibliotheken mit CMake.
Nutzung von Bibliotheken: Erklärung, wie man Bibliotheken in Projekten einbindet und nutzt, einschließlich der Nutzung von target_link_libraries().
Konfigurationsoptionen und Compiler-Einstellungen
Festlegen von Build-Optionen: Verwendung von option() und set() zur Definition und Konfiguration von Build-Optionen und -Variablen.
Compiler-Einstellungen: Konfiguration von Compiler-Flags und Optimierungen mit target_compile_options() und target_compile_definitions().
Externe Abhängigkeiten und Paketverwaltung
Einbindung externer Bibliotheken: Nutzung von find_package() und ExternalProject_Add() zur Integration externer Bibliotheken und Projekte.
Paketverwaltung mit CMake: Einführung in die Verwaltung von Abhängigkeiten mit FetchContent und anderen CMake-Modulen.
Plattformübergreifende Entwicklung
Plattformübergreifende Builds: Best Practices zur Erstellung plattformübergreifender CMake-Projekte, einschließlich der Nutzung von Generatoren und plattformspezifischen Einstellungen.
Verwendung von Toolchains: Anleitung zur Erstellung und Nutzung von Toolchain-Dateien für Cross-Compiling und spezielle Build-Umgebungen.
Testing und Continuous Integration (CI)
Einführung in CTest: Nutzung von CTest zur Erstellung und Ausführung von Unit-Tests und Integrationstests.
Integration mit CI-Tools: Anleitung zur Integration von CMake-Projekten in CI/CD-Pipelines mit Tools wie Jenkins, GitHub Actions und GitLab CI.
Erstellung und Verteilung von Paketen
Erstellen von Installationspaketen: Nutzung von CMake-Befehlen zur Erstellung von Installationspaketen für verschiedene Plattformen.
Distribution und Paketverwaltung: Einführung in die Distribution von CMake-Projekten und die Nutzung von Paketmanagern wie Conan und vcpkg.
Dauer/zeitlicher Ablauf:
2 Tage
Zielgruppe:
Dieses Seminar richtet sich an Softwareentwickler, Build-Manager und Systemadministratoren, die CMake zur Erstellung, Konfiguration und Verwaltung von Build-Prozessen nutzen möchten. Grundlegende Kenntnisse in C++ und Build-Systemen sind hilfreich, aber nicht zwingend erforderlich.
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern.
Diese Cookies werden nicht automatisiert gesetzt.
Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren.
Weitere Informationen finden Sie hier.