إصدار نظام البناء CMake 3.15

يأخذ مكانا إطلاق مولد نصي مفتوح عبر الأنظمة الأساسية CMake 3.15 تحديث، والذي يعمل كبديل لـ Autotools ويستخدم في مشاريع مثل KDE وLLVM/Clang وMySQL وMariaDB وReactOS وBlender. كود CMake مكتوب بلغة C++ ويتم توزيعه بموجب ترخيص BSD.

يتميز CMake بتوفيره لغة برمجة بسيطة، ووسيلة لتوسيع الوظائف من خلال الوحدات النمطية، وعدد أدنى من التبعيات (بدون ربط بـ M4 أو Perl أو Python)، ودعم التخزين المؤقت، ووجود أدوات للتجميع المتقاطع، ودعم إنشاء البنية ملفات لمجموعة واسعة من أنظمة البناء والمترجمين، وأدوات مساعدة الوجود ctest وcpack لتحديد البرامج النصية للاختبار وحزم البناء، والأداة المساعدة cmake-gui لإعداد معلمات البناء بشكل تفاعلي.

رئيسي تحسينات:

  • تمت إضافة دعم اللغة الأولي إلى منشئ البرامج النصية للبناء المستند إلى Ninja سويفت، التي طورتها شركة أبل؛
  • تمت إضافة دعم لمتغير برنامج التحويل البرمجي Clang لنظام التشغيل Windows والذي يتم إنشاؤه باستخدام MSVC ABI، ولكنه يستخدم خيارات سطر الأوامر بنمط GNU؛
  • تمت إضافة متغيرات CMAKE_MSVC_RUNTIME_LIBRARY وMSVC_RUNTIME_LIBRARY لتحديد مكتبات وقت التشغيل التي يستخدمها المترجمون استنادًا إلى MSVC ABI (MS Visual Studio)؛
  • بالنسبة للمترجمين مثل MSVC، يتوقف CMAKE__FLAGS افتراضيًا عن إدراج علامات التحكم التحذيرية مثل "/W3"؛
  • تمت إضافة تعبير المولد "COMPILE_LANG_AND_ID:" لتحديد خيارات المترجم للملفات المستهدفة، باستخدام متغيرات CMAKE__COMPILER_ID وLANGUAGE لكل ملف تعليمات برمجية؛
  • في تعبيرات المولد C_COMPILER_ID، CXX_COMPILER_ID،
    CUDA_COMPILER_ID، Fortran_COMPILER_ID، COMPILE_LANGUAGE،
    أضاف COMPILE_LANG_AND_ID وPLATFORM_ID دعمًا لمطابقة قيمة واحدة بقائمة يتم فصل عناصرها بفاصلة؛

  • تمت إضافة المتغير CMAKE_FIND_PACKAGE_PREFER_CONFIG بحيث يؤدي استدعاء find_package() إلى البحث عن ملف تكوين الحزمة أولاً، حتى لو كان الباحث متاحًا؛
  • بالنسبة لمكتبات الواجهات، تمت إضافة الدعم لإعداد خصائص PUBLIC_HEADER وPRIVATE_HEADER، والتي يمكن من خلالها تعيين الرؤوس باستخدام أمر install(TARGETS) عن طريق تمرير الوسيطتين PUBLIC_HEADER وPRIVATE_HEADER؛
  • تمت إضافة متغير CMAKE_VS_JUST_MY_CODE_DEBUGGING وخاصية الهدف VS_JUST_MY_CODE_DEBUGGING لتمكين وضع "Just My Code" في مصحح أخطاء Visual Studio عند التحويل البرمجي باستخدام MSVC cl 19.05 والإصدارات الأحدث؛
  • تمت إعادة تصميم وحدة FindBoost، والتي تعمل الآن بشكل أكثر شمولية في أوضاع التكوين والوحدة النمطية في ظل وجود وحدات بحث أخرى؛
  • يدعم الأمر message() الآن الأنواع NOTICE وVERBOSE و
    التصحيح والتتبع؛

  • لا يقوم الأمر "export(PACKAGE)" الآن بأي شيء ما لم يتم تمكينه بشكل صريح عبر المتغير CMAKE_EXPORT_PACKAGE_REGISTRY.

المصدر: opennet.ru

إضافة تعليق