Meson هي أداة برمجية لأتمتة بناء البرامج. إنه مجاني ومفتوح المصدر مكتوب بلغة بايثون.
أُعلن مؤخرًا عن إصدار النسخة الجديدة من نظام بناء Meson 1.4 . تأتي هذه النسخة بدعم مُحسّن لبعض وظائف وحدة FS، بالإضافة إلى تحسينات في التوافق، وميزات جديدة، وغير ذلك.
بالنسبة لمن لا يعرفون Meson، فهو نظام بناء تستخدمه مشاريع بارزة مثل X.Org Server وMesa وLighttpd وsystemd وGStreamer وWayland وGNOME وGTK. هدفه الأساسي هو توفير عملية بناء سريعة وسهلة الاستخدام. يستخدم Meson مجموعة أدوات Ninja افتراضيًا، ولكنه متوافق أيضًا مع أنظمة خلفية أخرى مثل Xcode وVisual Studio.
يتميز هذا النظام بمدير تبعيات متكامل متعدد المنصات يُسهّل إنشاء الحزم للتوزيعات. تُعرّف قواعد التجميع بلغة محددة وسهلة القراءة، مما يقلل الوقت اللازم لكتابتها.
يدعم Meson بناء المشاريع بلغات متعددة مثل C وC++ وFortran وJava وRust، ويقدم وضع بناء تزايدي يعيد بناء المكونات التي تأثرت بالتغييرات منذ آخر بناء فقط. بالإضافة إلى ذلك، يمكن لـ Meson إنشاء إصدارات قابلة للتكرار، مما يضمن أن تشغيل البنية في بيئات مختلفة ينتج عنه ملفات تنفيذية متطابقة تمامًا.
المستجدات الرئيسية من Meson 1.4
يسلط هذا الإصدار الجديد من Meson 1.4 الضوء على الدعم الإضافي لوحدة FS، والتي تدعم الآن كائنات هدف التجميع build_tgt و custom_tgt، بالإضافة إلى فهرس هدف التجميع (custom_idx) في وظائف fs.name و fs.parent و fs.replace_suffix و fs.stem.
ومن التغييرات البارزة الأخرى في هذا الإصدار الجديد، قدرة Meson الآن على قراءة إصدار المشروع من المشاريع الفرعية المبنية على CMake. وهذا يضمن التحقق الصحيح من قيود الإصدار عند الوصول إلى مشروع فرعي مبني على CMake.
بالإضافة إلى ذلك، تمت إضافة وسيطة `preserve_paths` الآن إلى وظائف `compile_ui` و `compile_moc` ووظائف المعالجة المسبقة لوحدات `qt4` و `qt5` و `qt6` لتحديد خيار إنشاء بنية الدليل للملفات التي يتم كتابتها.
تجدر الإشارة أيضًا إلى أنه تمت إضافة دعم Clang إلى stldebug عند تمكين debugstl، وتم تقديم طريقة unset() إلى كائن env، وتمت إضافة طريقة full_path() إلى كائن File للحصول على المسار الكامل للملف.
تمت إضافة دعم لأداة numpy-config وpkg-config كاعتمادات مخصصة جديدة. هذا الدعم متاح بدءًا من NumPy 2.0.0. سيعمل دعم numpy-config تلقائيًا بمجرد تثبيت NumPy. مع ذلك، يوجد ملف pkg-config ضمن حزم موقع Python، مما يعني أنه لا يمكن استخدامه مباشرةً دون ضبط متغير البيئة PKG_CONFIG_PATH.
تشمل التغييرات البارزة الأخرى في هذا الإصدار الجديد ما يلي:
- القدرة على التحكم في عمليات التحقق من التأكيد (GLIBCXX_ASSERTIONS) في C++ stdlib عبر تكوين ndebug.
- تمت إضافة وسيطة الكلمة الأساسية keep_pathsun إلى وظائف وحدة qt
- أصبح من الممكن الآن تحديد الأهداف التابعة باستخدام التابع: for compiler.preprocess(). يجب إنشاء هذه الأهداف قبل بدء المعالجة المسبقة.
- يدعم منشئ الربط bindgen الآن استدلالات Meson لتحديد ملفات رأس C++.
- تمت إضافة القدرة على تجاوز إعدادات اللغة لـ bindgen.
- تفشل الاختبارات الآن افتراضيًا بعد مواجهة أخطاء عند تشغيل أدوات التعقيم مثل MemorySanitizer.
- تمت إضافة دعم لمترجم Texas Instruments C/C++ لعائلة وحدة المعالجة المركزية C6000.
وأخيرًا، إذا كنت مهتمًا بمعرفة المزيد، يمكنك العثور على التفاصيل في الرابط التالي.
كيفية تثبيت Meson على Linux؟
بالنسبة لأولئك المهتمين بالقدرة على تثبيت نظام البناء هذا على نظامهم ، يمكنهم القيام بذلك باتباع الإرشادات التي نشاركها أدناه.
يجب أن يعلموا أن Meson متاح على PyPi ، لذلك يمكن تثبيته بالأمر:
pip3 install meson
كملاحظة ، يجب أن تعلم أن الأمر الدقيق لكتابة تثبيت النقطة يمكن أن يختلف بين الأنظمة ، لذلك يوصى باستخدام إصدار Python 3 من النقطة.