إطلاق أنظمة البناء CMake 3.21 وMeson 0.59

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

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

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

  • تمت إضافة دعم كامل لواجهة الحوسبة غير المتجانسة للغة برمجة قابلية النقل (HIP)، وهي لهجة من لغة C++ تهدف إلى تسهيل تحويل تطبيقات CUDA إلى كود C++ محمول.
  • تمت إضافة منشئ البرنامج النصي للإنشاء لبرنامج Visual Studio 17 2022، استنادًا إلى Visual Studio 2022 Preview 1.1.
  • أضافت مولدات البرامج النصية الخاصة ببناء Makefile وNinja خصائص C_LINKER_LAUNCHER وCXX_LINKER_LAUNCHER، والتي يمكن استخدامها لتشغيل الأدوات المساعدة التي تقوم بتشغيل الرابط، مثل المحللات الثابتة. سيقوم المولد بتشغيل الأدوات المساعدة المحددة، ويمرر لها اسم الرابط ووسائطه.
  • في الخصائص "C_STANDARD" و"OBJC_STANDARD"، وكذلك في أدوات إعداد معلمات المترجم (ميزات الترجمة)، تمت إضافة دعم لمواصفات C17 وC23.
  • تمت إضافة الخيار "—toolchain" إلى الأداة المساعدة cmake > لتحديد المسار إلى مجموعة الأدوات.
  • يتم تمييز أنواع الرسائل المعروضة على الجهاز.
  • تمت إضافة الدعم لمترجم فوجيتسو.
  • يضمن الأمر "foreach()" عزل متغيرات الحلقة داخل الحلقة.

بالإضافة إلى ذلك، يمكننا ملاحظة إصدار نظام البناء Meson 0.59، والذي يُستخدم لبناء مشاريع مثل X.Org Server وMesa وLighttpd وsystemd وGStreamer وWayland وGNOME وGTK. كود Meson مكتوب بلغة Python ومرخص بموجب ترخيص Apache 2.0. يدعم التجميع المتقاطع والبناء على Linux وIllumos/Solaris وFreeBSD وNetBSD وDragonFly BSD وHaiku وmacOS وWindows باستخدام GB وClang وVisual Studio والمترجمين الآخرين. من الممكن بناء مشاريع بلغات برمجة مختلفة، بما في ذلك C وC++ وFortran وJava وRust. بدلاً من أداة الإنشاء، يتم استخدام مجموعة أدوات Ninja افتراضيًا عند الإنشاء، ولكن يمكن أيضًا استخدام الواجهات الخلفية الأخرى مثل xcode وVisualStudio.

يحتوي النظام على معالج تبعية مدمج متعدد المنصات يسمح لك باستخدام Meson لإنشاء حزم للتوزيعات. يتم تحديد قواعد التجميع بلغة مبسطة خاصة بالمجال، وهي سهلة القراءة والفهم للمستخدم (كما أراد المؤلفون، يجب على المطور قضاء الحد الأدنى من الوقت في كتابة القواعد). يتم دعم وضع البناء التزايدي، حيث يتم إعادة بناء المكونات المرتبطة مباشرة بالتغييرات التي تم إجراؤها منذ الإصدار الأخير فقط. يمكن استخدام Meson لإنشاء بنيات قابلة للتكرار، حيث يؤدي تشغيل البناء في بيئات مختلفة إلى إنشاء ملفات قابلة للتنفيذ متطابقة تمامًا.

أهم ابتكارات ميزون 0.59:

  • تمت إضافة دعم للغة Cython (إصدار متقدم من Python يهدف إلى تبسيط التكامل مع كود C).
  • تمت إضافة الكلمات الرئيسية "unescaped_variables" و"unescaped_uninstalled_variables" لتحديد المتغيرات في pkgconfig دون الهروب من المسافات التي تحتوي على الحرف "\".
  • تمت إضافة دعم لـ wrc (مترجم موارد النبيذ).
  • تم تنفيذ القدرة على إنشاء مشاريع لـ Visual Studio 2012 وVisual Studio 2013.
  • تعمل كافة الأوامر المتعلقة بالمشروع الفرعي الآن على تشغيل كل مشروع فرعي بالتوازي بشكل افتراضي. يتم تحديد عدد العمليات المتوازية بواسطة المعلمة "--num-processes".

المصدر: opennet.ru

إضافة تعليق