Ninja é um pequeno sistema de construção com foco na velocidade. https://ninja-build.org/
Consulte o manual ou doc/manual.asciidoc
incluído na distribuição para obter informações básicas e mais detalhes.
Binários para Linux, Mac e Windows estão disponíveis no GitHub. Execute ./ninja -h
para obter ajuda do Ninja.
A instalação não é necessária porque o único arquivo necessário é o binário ninja resultante. No entanto, para ativar recursos como a conclusão do Bash e os modos de edição Emacs e Vim, alguns arquivos em misc/ devem ser copiados para locais apropriados.
Se você estiver interessado em fazer alterações no Ninja, leia CONTRIBUTING.md primeiro.
Você pode construir o Ninja por meio do script gerador personalizado escrito em Python ou via CMake. Para mais detalhes consulte o wiki.
./configure.py --bootstrap
Isso irá gerar o binário ninja
e um arquivo build.ninja
que agora você pode usar para construir o Ninja consigo mesmo.
Se você tiver um diretório de origem do GoogleTest, poderá criar os testes passando seu caminho com a opção --gtest-source-dir=PATH
ou a variável de ambiente GTEST_SOURCE_DIR
, por exemplo:
./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.
Use a versão CMake abaixo se quiser usar uma versão binária pré-instalada da biblioteca.
cmake -Bbuild-cmake cmake --build build-cmake
O binário ninja
agora estará dentro do diretório build-cmake
(você pode escolher qualquer outro nome que desejar).
Para executar os testes de unidade:
./build-cmake/ninja_test
Você deve ter asciidoc
e xsltproc
em seu PATH, então faça:
./configure.py ninja manual doc/manual.pdf
O que irá gerar doc/manual.html
.
Para gerar a versão PDF do manual, você deve ter dblatext
no seu PATH e depois fazer:
./configure.py # only if you didn't do it previously. ninja doc/manual.pdf
O que irá gerar doc/manual.pdf
.
Se você tiver doxygen
instalado, poderá criar documentação extraída de declarações e comentários C++ para ajudá-lo a navegar no código. Observe que o Ninja é um executável independente, não uma biblioteca, portanto não existe uma API pública, todos os detalhes expostos aqui são internos.
./configure.py # if needed ninja doxygen
Em seguida, abra doc/doxygen/html/index.html
em um navegador para visualizá-lo.