cmake-init - مُهيئ مشروع Cmake المفقود cmake-init هو مُهيئ مشروع CMAKE الذي يولد مشاريع CMAKE التي تجلبها جاهزة ، أهداف مستهلك ومطورين منفصلة ، توفر قواعد التثبيت مع حزم CMAKE القابلة للنقل واستخدام CMAKE الحديثة (3.14+).
يرجى الاطلاع على wiki على سبيل المثال مخرجات cmake-init وغيرها من الأمثلة العملية للوظائف التي تم تنفيذها لـ cmake ، مثل مديري الحزم ، واختبار الزغب ، والبناء الفائق ، إلخ.






إذا كنت ترغب في الاتصال بي للحصول على أي شيء مرتبط بـ Cmake ، فقد تجدني في قناة #cmake لـ C ++ Slack. إذا كان ما ترغب في معرفته هو Cmake-Init محدد ، فيمكنك أيضًا طرح أسئلة في مناقشات هذا المستودع.
h عند المطالبة. مكتبة ثابتة/مشتركة؟ فقط اختر s عند المطالبة. بسيط وصحيح !FetchContentتأكد من تثبيت هذه البرامج:
ملحوظة
يمكن استخدام بعض هذه الأدوات على Windows أيضًا إذا كنت ترغب في استخدام Visual Studio ، ولكن عليك تثبيت هذه الإضافات:
هذه الحزمة متاحة للتنزيل من PYPI. يمكنك تثبيت هذه الحزمة باستخدام pip :
pip install cmake-init Clang Tidy هي أداة تحليل ثابت تساعدك على اكتشاف الأخطاء المنطقية في الكود الخاص بك قبل تجميعها. يمنحك هذا البرنامج النصي خيار ورث الإعداد المسبق لـ clang-tidy في الإعداد dev الخاص بك ، مما يتيح تكامل CMake لهذه الأداة.
سيقوم CI دائمًا بتشغيل Clang-Tidy من أجلك ، لذلك من اختياري تمامًا تثبيته واستخدامه محليًا ، ولكن يوصى به.
بالنسبة لمستخدمي Windows ، إذا كنت ترغب في استخدام Clang-Tidy ، فيجب عليك تثبيت Ninja وتعيين حقل generator في dev Preset الخاص بك إلى Ninja . والسبب في ذلك هو أن Makefiles و Ninja فقط مدعومان مع Cmake للاستخدام مع Clang Tidy. بالنسبة للمولدات الأخرى ، هذه الميزة هي عدم وجود op.
CPPCheck هي أداة تحليل ثابتة تشبه Clang-Tidy ، ومع ذلك فإن التداخل في ما يكتشفونه هو الحد الأدنى ، لذلك من المفيد استخدام كلاهما. يمنحك هذا البرنامج النصي خيار ورث الإعداد المسبق cppcheck في الإعداد dev الخاص بك ، مما يتيح تكامل CMAKE لهذه الأداة.
سيقوم CI دائمًا بتشغيل CPPCHECK بالنسبة لك ، لذلك من اختياري تمامًا تثبيته واستخدامه محليًا ، ولكن يوصى به.
بالنسبة لمستخدمي Windows ، إذا كنت ترغب في استخدام CppCheck ، فيجب عليك تثبيت Ninja وتعيين حقل generator في dev Preset الخاص بك إلى Ninja . والسبب في ذلك هو أن Makefiles و Ninja فقط مدعومون مع Cmake للاستخدام مع CppCheck. بالنسبة للمولدات الأخرى ، هذه الميزة هي عدم وجود op.
Doxygen هي أداة لإنشاء وثائق من رمز المصدر المشروح. بالتزامن معها ، يتم استخدام M.CSS لتقديم الوثائق التي تم إنشاؤها.
سيكون للمشاريع التي تم إنشاؤها هدف docs في وضع المطور ، والذي يمكن استخدامه لإنشاء الوثائق في دليل <binary-dir>/docs/html .
بعد تثبيت Doxygen ، يرجى التأكد من وجود doxygen القابل للتنفيذ في PATH ، وإلا فقد تحصل على رسائل خطأ مربكة.
يمكن نشر هذه الوثائق على صفحات github باستخدام وظيفة docs في سير عمل CI الذي تم إنشاؤه. اتبع التعليقات المتبقية في الوظيفة لتمكين هذا.
ملاحظة : لا يعمل M.CSS مع doxygen> = 1.9. يمكنك تثبيت 1.8.20 لاستخدام هدف docs . انظر القضايا رقم 41 و #48.
LCOV هي أداة لمعالجة معلومات التغطية التي تم إنشاؤها بواسطة Healformables التي تم صكها مع gcov من GCC. يمكن استخدام معلومات التغطية هذه لمعرفة أجزاء البرنامج التي تم تنفيذها.
سيكون للمشاريع التي تم إنشاؤها هدف coverage في وضع المطور إذا تم تمكين متغير ENABLE_COVERAGE . السبب في استخدام هدف منفصل بدلاً من خطوة coverage المدمجة لـ CTEST هو أنه يفتقر إلى التخصيص اللازم. يجب تشغيل هذا الهدف بعد الاختبارات بشكل افتراضي ، سيقوم بإنشاء تقرير على <binary-dir>/coverage.info وتقرير HTML في دليل <binary-dir>/coverage_html .
بالنسبة لمستخدمي Windows ، يمكنك استخدام أداة مماثلة تسمى OpenCPpCoverage ، والتي يوجد نصي مثال في دليل cmake الذي تم إنشاؤه. يتم ترك هذا البرنامج النصي كمثال ، لأن Linux VM يطلق ويعمل بشكل أسرع في إجراءات GitHub وبالتالي يتم استخدامه لتقديم التغطية.
يعد Clang-Format جزءًا من مجموعة Tool LLVM مماثلة لـ Clang-Tidy. إنه رمز Linter و Code Formatter ، والذي يمكن استخدامه لفرض أدلة النمط.
يتم توفير هدفين للتحقق من الرمز وإصلاحه في وضع المطور باستخدام أهداف format-check format-fix على التوالي.
ملاحظة : يقوم المشروع بإنشاء ملفات تم تنسيقها وفقًا لـ Clang-Format 14. قد تقوم الإصدارات الأحدث أو الأقدم بتنسيق المشروع بشكل مختلف.
CodeSpell هي أداة للعثور على أخطاء الإملاء وإصلاحها بشكل رئيسي في رمز المصدر.
يتم توفير هدفين للتحقق من أخطاء الإملاء وإصلاحها في وضع المطور باستخدام أهداف spell-check spell-fix على التوالي.
يمكن استخدام علامة -p لتحديد مدير الحزمة للمشروع. يمكن أن تكون الحجج الخاصة بالعلم:
none : لا يوجد تكامل مدير الحزمة (افتراضي)conan : تكامل كونانvcpkg : تكامل VCPKGعند استخدام مدير الحزمة ، يتم استخدام الحزم التالية في المشروع الذي تم إنشاؤه:
تأكد من قراءة وثيقة القرصنة التي تم إنشاؤها لمعرفة ما يجب القيام به لجلب التبعيات.
cmake-init [--c] <path>-s أو -e أو -h بعد إنشاء مكتبة مشتركة أو قابلة للتنفيذ أو رأس فقط على التوالي. سيقوم مفتاح --c بتعيين نوع المشروع الذي تم إنشاؤه على C بدلاً من C ++.cmake-init --help cmake-init هو برنامج مجاني: يمكنك استخدام ودراسة ومشاركة وتحسين إرادتك. على وجه التحديد ، يمكنك إعادة توزيع و/أو تعديله بموجب شروط ترخيص GNU العام العام كما تم نشره بواسطة مؤسسة البرمجيات المجانية ، إما الإصدار 3 من الترخيص ، أو (وفقًا لخيارك) أي إصدار لاحق.
يتم ترخيص محتويات الدليل cmake-init/templates باستخدام ترخيص UNLINENS. انظر الترخيص في هذا الدليل لمزيد من التفاصيل.