Ninja هو نظام بناء صغير يركز على السرعة. https://ninja-build.org/
راجع الدليل أو doc/manual.asciidoc
المضمن في التوزيع للحصول على الخلفية ومزيد من التفاصيل.
تتوفر الثنائيات لنظام التشغيل Linux وMac وWindows على GitHub. قم بتشغيل ./ninja -h
للحصول على مساعدة النينجا.
التثبيت ليس ضروريًا لأن الملف الوحيد المطلوب هو ملف النينجا الثنائي الناتج. ومع ذلك، لتمكين ميزات مثل إكمال Bash وأوضاع التحرير Emacs وVim، يجب نسخ بعض الملفات المتنوعة/ إلى المواقع المناسبة.
إذا كنت مهتمًا بإجراء تغييرات على 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
يجب أن يكون لديك asciidoc
و xsltproc
في المسار الخاص بك، ثم قم بما يلي:
./configure.py ninja manual doc/manual.pdf
والتي سوف تولد doc/manual.html
.
لإنشاء نسخة PDF من الدليل، يجب أن يكون لديك dblatext
في PATH الخاص بك، ثم قم بما يلي:
./configure.py # only if you didn't do it previously. ninja doc/manual.pdf
والتي سوف تولد doc/manual.pdf
.
إذا قمت بتثبيت doxygen
، فيمكنك إنشاء وثائق مستخرجة من إعلانات وتعليقات C++ لمساعدتك في التنقل في التعليمات البرمجية. لاحظ أن Ninja هو برنامج مستقل قابل للتنفيذ، وليس مكتبة، لذلك لا توجد واجهة برمجة تطبيقات عامة، وجميع التفاصيل المعروضة هنا داخلية.
./configure.py # if needed ninja doxygen
ثم افتح doc/doxygen/html/index.html
في المتصفح لإلقاء نظرة عليه.