CMake ist ein plattformübergreifendes quelloffenes Generiersystem. Es wird verwendet, um den Prozess der Software-Compilierung zu steuern und verwendet einfache Plattform- und Compiler-unabhängige Konfigurationsdateien. Es generiert native Makefiles und Workspaces, die in der gewählten Compilerumgebung verwendet werden können. CMake ist ziemlich ausgefeilt. Es ist möglich, komplexe Umgebungen zu unterstützen, die Systemkonfiguration, Präprozessor-Generierung und Codegenerierung benötigen. (non)