Es gibt eine ganze Reihe von Build-Systemen. Je nach Programmiersprache und Entwicklungsumgebung kommen dabei spezialisierte Tools zu Einsatz. In der C-Entwicklung sind "Make", "CMake", "Eclipse Projekte", "Visual Studio Projekte" und "Ninja Build Projekte" typisch. Während Make und CMake recht generische Systeme sind, sind Visual Studio und Eclipse Projekte an eine IDE gebunden. Java-Projekte verwenden meist "Ant" oder "Gradle", Ruby Projekte nutzen "Rake" und Microsoft .Net Code kompiliert typischerweise mit "MS build". Es gibt aber noch eine große Zahl weiterer Projekte, die hier nicht genannt werden sollen.

Neuere Programmiersprachen wie Go oder Rust bringen ihr eigenes Build-System mit, das fest mit dem Kompiler verbunden ist. Dies erlaubt es, Code zwischen Projekten auszutauschen, ohne zusätzliche Build-Scripte kopieren und anpassen zu müssen. Das Build-System ist quasi Teil des Quellcodes.

Im Rahmen dieses Tutoriums werden wir uns hauptsächlich mit CMake auseinander setzen. Dies liegt nicht zuletzt daran, dass CMake ein Build-System-Build-System ist, d.h. CMake erstellt die notwendigen Dateien und Konfigurationen für andere Build-Systeme. Es führt selbst keine Build-System-typischen Aufgaben aus. CMake kann Konfigurationen für nahezu alle oben genannten Build-Systeme erstellen, ist modular erweiterbar und Sprach- und Systemunabhängig.

Last modified: Friday, 15 June 2018, 12:48 PM