Ninja — это небольшая система сборки, ориентированная на скорость. https://ninja-build.org/
Дополнительную информацию см. в руководстве или doc/manual.asciidoc
включенном в дистрибутив.
Бинарные файлы для Linux, Mac и Windows доступны на GitHub. Запустите ./ninja -h
для помощи ниндзя.
Установка не требуется, поскольку единственным требуемым файлом является полученный двоичный файл ninja. Однако, чтобы включить такие функции, как завершение Bash и режимы редактирования Emacs и Vim, некоторые файлы в каталоге misc/ необходимо скопировать в соответствующие места.
Если вы хотите внести изменения в Ninja, сначала прочтите CONTRIBUTING.md.
Вы можете собрать Ninja с помощью специального скрипта-генератора, написанного на Python, или с помощью CMake. Более подробную информацию смотрите в вики.
./configure.py --bootstrap
Это создаст двоичный файл ninja
и файл build.ninja
который вы теперь можете использовать для сборки Ninja.
Если у вас есть исходный каталог GoogleTest, вы можете создать тесты, передав его путь с опцией --gtest-source-dir=PATH
или переменную среды GTEST_SOURCE_DIR
, например:
./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.
Используйте сборку CMake ниже, если вы хотите использовать предустановленную двоичную версию библиотеки.
cmake -Bbuild-cmake cmake --build build-cmake
Бинарный файл ninja
теперь будет находиться в каталоге build-cmake
(вы можете выбрать любое другое имя).
Чтобы запустить модульные тесты:
./build-cmake/ninja_test
В вашем PATH должны быть asciidoc
и xsltproc
, затем выполните:
./configure.py ninja manual doc/manual.pdf
Который создаст doc/manual.html
.
Чтобы создать PDF-версию руководства, в вашем PATH должен быть указан dblatext
а затем выполните:
./configure.py # only if you didn't do it previously. ninja doc/manual.pdf
Который создаст doc/manual.pdf
.
Если у вас установлен doxygen
, вы можете создать документацию, извлеченную из объявлений и комментариев C++, которая поможет вам ориентироваться в коде. Обратите внимание, что Ninja — это отдельный исполняемый файл, а не библиотека, поэтому общедоступного API не существует, все представленные здесь детали являются внутренними.
./configure.py # if needed ninja doxygen
Затем откройте doc/doxygen/html/index.html
в браузере, чтобы просмотреть его.