Ninja adalah sistem build kecil dengan fokus pada kecepatan. https://ninja-build.org/
Lihat manual atau doc/manual.asciidoc
yang disertakan dalam distribusi untuk latar belakang dan rincian lebih lanjut.
Biner untuk Linux, Mac dan Windows tersedia di GitHub. Jalankan ./ninja -h
untuk bantuan Ninja.
Instalasi tidak diperlukan karena satu-satunya file yang diperlukan adalah biner ninja yang dihasilkan. Namun, untuk mengaktifkan fitur seperti penyelesaian Bash dan mode pengeditan Emacs dan Vim, beberapa file di misc/ harus disalin ke lokasi yang sesuai.
Jika Anda tertarik untuk melakukan perubahan pada Ninja, baca CONTRIBUTING.md terlebih dahulu.
Anda dapat membuat Ninja melalui skrip generator khusus yang ditulis dengan Python atau melalui CMake. Untuk lebih jelasnya lihat wiki.
./configure.py --bootstrap
Ini akan menghasilkan biner ninja
dan file build.ninja
yang sekarang dapat Anda gunakan untuk membangun Ninja sendiri.
Jika Anda memiliki direktori sumber GoogleTest, Anda dapat membuat pengujian dengan meneruskan jalurnya menggunakan opsi --gtest-source-dir=PATH
, atau variabel lingkungan GTEST_SOURCE_DIR
, misalnya:
./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.
Gunakan build CMake di bawah ini jika Anda ingin menggunakan pustaka versi biner yang sudah diinstal sebelumnya.
cmake -Bbuild-cmake cmake --build build-cmake
Biner ninja
sekarang akan berada di dalam direktori build-cmake
(Anda dapat memilih nama lain yang Anda suka).
Untuk menjalankan pengujian unit:
./build-cmake/ninja_test
Anda harus memiliki asciidoc
dan xsltproc
di PATH Anda, lalu lakukan:
./configure.py ninja manual doc/manual.pdf
Yang akan menghasilkan doc/manual.html
.
Untuk menghasilkan manual versi PDF, Anda harus memiliki dblatext
di PATH Anda lalu lakukan:
./configure.py # only if you didn't do it previously. ninja doc/manual.pdf
Yang akan menghasilkan doc/manual.pdf
.
Jika Anda telah menginstal doxygen
, Anda dapat membuat dokumentasi yang diekstraksi dari deklarasi dan komentar C++ untuk membantu Anda menavigasi kode. Perhatikan bahwa Ninja adalah executable mandiri, bukan perpustakaan, jadi tidak ada API publik, semua detail yang ditampilkan di sini bersifat internal.
./configure.py # if needed ninja doxygen
Kemudian buka doc/doxygen/html/index.html
di browser untuk melihatnya.