؟ النسخة الإنجليزية
ضربة وتغيير "mylib" إلى اسمك.
أو قم بإنشاء مشروعك باستخدام البرنامج النصي: https://github.com/izvolov/mylib-gen
يتكون تجميع هذا المشروع ، مثل أي مشروع آخر على نظام تجميع CMAKE ، من مرحلتين:
cmake -S путь/к/исходникам -B путь/к/сборочной/директории [опции ...]اقرأ المزيد عن الخيارات.
cmake --build путь/к/сборочной/директории [--target target]اقرأ المزيد عن أهداف التجميع.
cmake -S ... -B ... -DMYLIB_COVERAGE=ON [прочие опции ...] يتضمن الغرض من coverage ، والتي يمكنك البدء في قياس الكود الذي يغطي الاختبارات.
cmake -S ... -B ... -DMYLIB_TESTING=OFF [прочие опции ...] يوفر الفرصة لإيقاف تجميع الاختبارات المعيارية وهدف check . نتيجة لذلك ، يتم إيقاف الكود بواسطة الطلاء الأساسي مع الاختبارات (انظر الطلاء).
يتم فصل الاختبار تلقائيًا أيضًا إذا كان المشروع متصلاً بمشروع آخر باعتباره مشروعًا فرعيًا باستخدام أمر add_subdirectory .
cmake -S ... -B ... -DDOXYGEN_OUTPUT_LANGUAGE=English [прочие опции ...] إنه يغير لغة الوثائق ، والتي يتم إنشاؤها بواسطة هدف doc إلى واحد معين. للحصول على قائمة باللغات التي يمكن الوصول إليها ، راجع موقع نظام Doxygen.
بشكل افتراضي ، يتم تضمين الروسي.
cmake --build путь/к/сборочной/директории
cmake --build путь/к/сборочной/директории --target all إذا لم يتم الإشارة إلى الهدف (وهو ما يعادل الهدف all ) ، فإنه يجمع كل ما هو ممكن ، ويسبب أيضًا هدف check .
cmake --build путь/к/сборочной/директории --target mylib_library تم تجميعها بواسطة مكتبة mylib_library . شملت بشكل افتراضي.
cmake --build путь/к/сборочной/директории --target mylib-unit-testsيجمع الاختبارات المعيارية. شملت بشكل افتراضي.
cmake --build путь/к/сборочной/директории --target checkيطل على الاختبارات المعيارية التي تم جمعها (يجمع ، إن لم يكن بعد). شملت بشكل افتراضي.
انظر أيضا mylib-unit-tests .
cmake --build путь/к/сборочной/директории --target coverageتحليلات الاختبارات المعيارية المتقدمة (إن لم يكن بعد) لتغطية الكود مع اختبارات باستخدام برنامج GCOVR.
الهدف متاح فقط مع خيار MYLIB_COVERAGE المضمون.
انظر أيضا check .
cmake --build путь/к/сборочной/директории --target docيطل على توليد الوثائق للرمز باستخدام نظام doxygen.
cmake --build путь/к/сборочной/директории --target wandboxلهذا ، يتم استخدام خدمة Wandbox. لا تسيء إلى هذا الشيء ، الخادم ليس مطاطًا.
cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Debug -DMYLIB_COVERAGE=ON
cmake --build путь/к/сборочной/директории --target coverage --parallel 16cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DMYLIB_TESTING=OFF -DCMAKE_INSTALL_PREFIX=путь/к/установойной/директории
cmake --build путь/к/сборочной/директории --target installcmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-8 -DCMAKE_PREFIX_PATH=путь/к/директории/куда/установлены/зависимости
cmake --build путь/к/сборочной/директории --parallel 4cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Release -DDOXYGEN_OUTPUT_LANGUAGE=English
cmake --build путь/к/сборочной/директории --target docأحد الخيارات لاستخدام الوحدة هو تثبيته في النظام.
cmake --build путь/к/сборочной/директории --target install بعد ذلك ، يحصل أي مشروع آخر ، الاتصال بأمر find_package ، على فرصة لاستخدام جميع المكتبات من Mylib::
find_package (Mylib 1.0 REQUIRED)
add_executable (some_executable some.cpp sources .cpp)
target_link_libraries (some_executable PRIVATE Mylib::library) يجب أن تكون Mylib::library متصلاً عندما تحتاج إلى الالتزام بمكتبة libmylib_library . إذا كان هناك عناوين كافية ، فمن المفيد استخدام Mylib::headers .
يمكن أيضًا توصيل المشروع بمشروع آخر كوحدة فرعية باستخدام أمر add_subdirectory .
في هذه الحالة ، ستكون Mylib::library و Mylib::headers متاحة بطريقة مماثلة.
Cmake 3.14
مطلوب Cmake 3.14 لأنه في الإصدارات السابقة ، يعمل install(TARGETS ... EXPORT ...) بشكل غير صحيح في الإصدارات السابقة ، وهي المسارات الافتراضية غير محددة.
مكتبة اختبار الدكتوراه
يمكن إيقاف الاختبار (انظر الاختبار).
Doxygen
لتبديل اللغة التي سيتم إنشاء الوثائق بها ، يتم توفير خيار DOXYGEN_OUTPUT_LANGUAGE .
المترجم المترجم Jap Python 3
لتوليد تلقائي من ساندويتش على الإنترنت.
بمساعدة Cmake وزوج من الأدوات الجيدة ، يمكنك توفير تحليل ثابت مع الحد الأدنى من حركات الجسم.
قامت Cmake ببناء -بدعم من التحليل الثابت لـ CPPCheck.
للقيام بذلك ، استخدم خيار CMAKE_CXX_CPPCHECK :
cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_CPPCHECK= " cppcheck;--enable=all;-Iпуть/к/исходникам/include "بعد ذلك ، سيتم إطلاق التحليل الثابت تلقائيًا في كل مرة أثناء التجميع والتقاطع بين المصدر. لا تحتاج إلى فعل أي شيء إضافي.
بمساعدة أداة رائعة scan-build ، يمكنك أيضًا بدء تحليل ثابت في مجموعتين:
scan-build cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Debug
scan-build cmake --build путь/к/сборочной/директории هنا ، على عكس الحالة مع CPPCheck ، من الضروري تشغيل التجميع من خلال scan-build في كل مرة.