Ninja est un petit système de construction axé sur la vitesse. https://ninja-build.org/
Consultez le manuel ou doc/manual.asciidoc
inclus dans la distribution pour obtenir des informations générales et plus de détails.
Les binaires pour Linux, Mac et Windows sont disponibles sur GitHub. Exécutez ./ninja -h
pour obtenir l'aide de Ninja.
L'installation n'est pas nécessaire car le seul fichier requis est le binaire ninja résultant. Cependant, pour activer des fonctionnalités telles que la complétion Bash et les modes d'édition Emacs et Vim, certains fichiers de misc/ doivent être copiés aux emplacements appropriés.
Si vous souhaitez apporter des modifications à Ninja, lisez d'abord CONTRIBUTING.md.
Vous pouvez soit créer Ninja via le script générateur personnalisé écrit en Python, soit via CMake. Pour plus de détails, consultez le wiki.
./configure.py --bootstrap
Cela générera le binaire ninja
et un fichier build.ninja
que vous pourrez maintenant utiliser pour construire Ninja avec lui-même.
Si vous disposez d'un répertoire source GoogleTest, vous pouvez créer les tests en passant son chemin avec l'option --gtest-source-dir=PATH
, ou la variable d'environnement GTEST_SOURCE_DIR
, par exemple :
./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.
Utilisez la version CMake ci-dessous si vous souhaitez utiliser une version binaire préinstallée de la bibliothèque.
cmake -Bbuild-cmake cmake --build build-cmake
Le binaire ninja
sera désormais dans le répertoire build-cmake
(vous pouvez choisir n'importe quel autre nom de votre choix).
Pour exécuter les tests unitaires :
./build-cmake/ninja_test
Vous devez avoir asciidoc
et xsltproc
dans votre PATH, puis faites :
./configure.py ninja manual doc/manual.pdf
Ce qui générera doc/manual.html
.
Pour générer la version PDF du manuel, vous devez avoir dblatext
dans votre PATH puis faire :
./configure.py # only if you didn't do it previously. ninja doc/manual.pdf
Ce qui générera doc/manual.pdf
.
Si doxygen
est installé, vous pouvez créer une documentation extraite des déclarations et des commentaires C++ pour vous aider à naviguer dans le code. Notez que Ninja est un exécutable autonome, pas une bibliothèque, il n'y a donc pas d'API publique, tous les détails exposés ici sont internes.
./configure.py # if needed ninja doxygen
Ensuite, ouvrez doc/doxygen/html/index.html
dans un navigateur pour le consulter.