Ninja ist ein kleines Build-System mit Fokus auf Geschwindigkeit. https://ninja-build.org/
Hintergrundinformationen und weitere Details finden Sie im Handbuch oder doc/manual.asciidoc
das in der Distribution enthalten ist.
Binärdateien für Linux, Mac und Windows sind auf GitHub verfügbar. Führen Sie ./ninja -h
aus, um Ninja-Hilfe zu erhalten.
Eine Installation ist nicht erforderlich, da die einzige erforderliche Datei die resultierende Ninja-Binärdatei ist. Um jedoch Funktionen wie die Bash-Vervollständigung und die Emacs- und Vim-Bearbeitungsmodi zu aktivieren, müssen einige Dateien in misc/ an die entsprechenden Speicherorte kopiert werden.
Wenn Sie daran interessiert sind, Änderungen an Ninja vorzunehmen, lesen Sie zuerst CONTRIBUTING.md.
Sie können Ninja entweder über das in Python geschriebene benutzerdefinierte Generatorskript oder über CMake erstellen. Weitere Details finden Sie im Wiki.
./configure.py --bootstrap
Dadurch werden die ninja
-Binärdatei und eine build.ninja
-Datei generiert, die Sie nun verwenden können, um Ninja mit sich selbst zu erstellen.
Wenn Sie über ein GoogleTest-Quellverzeichnis verfügen, können Sie die Tests erstellen, indem Sie den Pfad mit der Option --gtest-source-dir=PATH
oder der Umgebungsvariablen GTEST_SOURCE_DIR
übergeben, z. B.:
./configure.py --bootstrap --gtest-source-dir=/path/to/googletest ./ninja all # build ninja_test and other auxiliary binaries ./ninja_test` # run the unit-test suite.
Verwenden Sie den folgenden CMake-Build, wenn Sie eine vorinstallierte Binärversion der Bibliothek verwenden möchten.
cmake -Bbuild-cmake cmake --build build-cmake
Die ninja
Binärdatei befindet sich nun im build-cmake
-Verzeichnis (Sie können einen beliebigen anderen Namen wählen).
So führen Sie die Unit-Tests aus:
./build-cmake/ninja_test
Sie müssen asciidoc
und xsltproc
in Ihrem PATH haben, dann gehen Sie wie folgt vor:
./configure.py ninja manual doc/manual.pdf
Dadurch wird doc/manual.html
generiert.
Um die PDF-Version des Handbuchs zu generieren, muss dblatext
in Ihrem PFAD vorhanden sein. Gehen Sie dann wie folgt vor:
./configure.py # only if you didn't do it previously. ninja doc/manual.pdf
Dadurch wird doc/manual.pdf
generiert.
Wenn Sie doxygen
installiert haben, können Sie eine aus C++-Deklarationen und Kommentaren extrahierte Dokumentation erstellen, die Ihnen bei der Navigation im Code hilft. Beachten Sie, dass es sich bei Ninja um eine eigenständige ausführbare Datei und nicht um eine Bibliothek handelt. Daher gibt es keine öffentliche API. Alle hier offengelegten Details sind intern.
./configure.py # if needed ninja doxygen
Öffnen Sie dann doc/doxygen/html/index.html
in einem Browser, um es anzusehen.