Ninja je open source software pro automatizaci překladu zdrojového kódu, jehož vývojářem je Evan Martin.
Rozdílem oproti jiným systémům, jako je například Make, je jeho zaměření na rychlost a designové rozhodnutí, že jeho soubory budou vytvářeny nějakým vysokoúrovňovým systémem pro automatizaci sestavování programů, jako je například CMake nebo Meson.
Použití Systémy pro automatizaci překladu založené na programu ninja patří mezi nejrychlejší. Díky tomu je ninja používán pro překlad v mnoha projektech, jako je například Chromium, pro který byl původně vyvinut, Elektron, QT, LLDB a využívá ho také většina programátorů pracujících na projektu LLVM.
Příklad cflags = -Wall
rule cc
command = gcc $cflags -c $in -o $out
build foo.o: cc foo.c
Příklad výše nastaví pro soubor foo.c kompilaci do objektového souboru foo.o. Pro kompilaci využije kompilátor gcc a přidá mu přepínač -Wall, který zobrazí všechna upozornění.
Reference
Externí odkazy
https://ninja-build.org/ https://github.com/ninja-build/ninja
Kategorie:Automatizace sestavování softwaru