Ninja es un sistema de construcción pequeño centrado en la velocidad. https://ninja-build.org/
Consulte el manual o doc/manual.asciidoc
incluido en la distribución para obtener información general y más detalles.
Los binarios para Linux, Mac y Windows están disponibles en GitHub. Ejecute ./ninja -h
para obtener ayuda de Ninja.
La instalación no es necesaria porque el único archivo requerido es el binario ninja resultante. Sin embargo, para habilitar funciones como la finalización de Bash y los modos de edición de Emacs y Vim, algunos archivos en misc/ deben copiarse en las ubicaciones adecuadas.
Si está interesado en realizar cambios en Ninja, lea primero CONTRIBUTING.md.
Puede compilar Ninja a través del script generador personalizado escrito en Python o mediante CMake. Para obtener más detalles, consulte la wiki.
./configure.py --bootstrap
Esto generará el binario ninja
y un archivo build.ninja
que ahora puedes usar para construir Ninja consigo mismo.
Si tiene un directorio fuente de GoogleTest, puede crear las pruebas pasando su ruta con la opción --gtest-source-dir=PATH
, o la variable de entorno GTEST_SOURCE_DIR
, por ejemplo:
./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.
Utilice la compilación de CMake a continuación si desea utilizar una versión binaria preinstalada de la biblioteca.
cmake -Bbuild-cmake cmake --build build-cmake
El binario ninja
ahora estará dentro del directorio build-cmake
(puedes elegir cualquier otro nombre que desees).
Para ejecutar las pruebas unitarias:
./build-cmake/ninja_test
Debes tener asciidoc
y xsltproc
en tu RUTA, luego haz:
./configure.py ninja manual doc/manual.pdf
Lo que generará doc/manual.html
.
Para generar la versión PDF del manual, debe tener dblatext
en su RUTA y luego hacer:
./configure.py # only if you didn't do it previously. ninja doc/manual.pdf
Lo que generará doc/manual.pdf
.
Si tiene doxygen
instalado, puede crear documentación extraída de declaraciones y comentarios de C++ para ayudarle a navegar por el código. Tenga en cuenta que Ninja es un ejecutable independiente, no una biblioteca, por lo que no existe una API pública; todos los detalles expuestos aquí son internos.
./configure.py # if needed ninja doxygen
Luego abra doc/doxygen/html/index.html
en un navegador para verlo.