تم نشر الإصدار النهائي لمجموعة أدوات تجميع Qbs

شركة كيو تي опубликовала أدوات التجميع Qbs 1.13 تحديث (جناح بناء كيو تي). هذا هو الإصدار الأخير من Qbs التي تنتجها شركة كيو تي. دعونا نتذكر ما حدث في وقت سابق تلقى قرار بوقف تطوير Qbs. تم تطوير Qbs كبديل لـ qmake، ولكن في النهاية تقرر استخدام CMake كنظام بناء رئيسي لـ Qt على المدى الطويل.

ومن المتوقع في المستقبل القريب أن يتم إنشاء مشروع مستقل لمواصلة تطوير Qbs من قبل المجتمع، والذي سيعتمد مصيره على الاهتمام بنظام التجميع المعني من المطورين المستقلين. تتوقف شركة Qt عن العمل على Qbs بسبب الحاجة إلى استثمارات إضافية وارتفاع تكاليف الترويج لـ Qbs.

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

الابتكارات الرئيسية في Qbs 1.13:

  • تمت إضافة القدرة على استخدام وحدات pkg-config في المشاريع باستخدام نفس آلية معالجة التبعية المستخدمة لوحدات Qbs. على سبيل المثال، إذا كان نظامك يحتوي على حزمة لبناء OpenSSL استنادًا إلى pkg-config، لاستخدامها في مشروع Qbs، فما عليك سوى إضافة 'Depends { name: "openssl" }';
  • تم تنفيذ الكشف التلقائي عن وحدات Qt المتاحة. لم يعد المطورون بحاجة إلى إنشاء ملف تعريف بمسارات الوحدة النمطية باستخدام الأمر setup-qt؛ سيتم تكوين جميع وحدات Qt المحددة في التبعيات تلقائيًا؛
  • تمت إضافة أدوات للتحكم في عدد مهام التجميع التي تعمل بالتوازي على مستوى الأوامر الفردية. على سبيل المثال، يؤدي الارتباط إلى إنشاء حمل إدخال/إخراج كبير ويستهلك كمية كبيرة من ذاكرة الوصول العشوائي (RAM)، لذا يتطلب الرابط إعدادات بدء تشغيل مختلفة عن المترجم. يمكن الآن ضبط الإعدادات المنفصلة باستخدام الأمر "qbs —job-limits linker:2,compiler:8";
  • تم إجراء تغييرات على لغة البرمجة النصية. يمكن الآن تعريف القواعد دون تحديد ملف كعب روتين للإخراج، وليس من الضروري استخدام توجيه "import qbs" في بداية ملفات المشروع. تمت إضافة خصائص التثبيت والتثبيت الجديدة إلى عناصر التطبيق والمكتبة الديناميكية والمكتبة الثابتة من أجل تثبيت أكثر ملاءمة للملفات القابلة للتنفيذ؛
  • تمت إضافة دعم للمسح العودي للبرامج النصية للرابط
    رابط جنو؛
  • بالنسبة لـ C++، تم تطبيق الخاصية cpp.linkerVariant لفرض استخدام الروابط ld.gold أو ld.bfd أو lld؛
  • تقدم Qt خاصية Qt.core.enableBigResources لإنشاء موارد Qt كبيرة
  • بدلاً من عنصر عفا عليه الزمن Androidيُنصح باستخدام نوع التطبيق العام (apk)؛
  • تمت إضافة وحدة لإنشاء الاختبارات بناءً على الاختبار التلقائي؛
  • تمت إضافة وحدة قالب نصي بقدرات مشابهة لـ QMAKE_SUBSTITUTES في qmake؛
  • تمت إضافة دعم أولي لتنسيق مخازن البروتوكول المؤقتة لـ C++ وObjective-C.

المصدر: opennet.ru

شراء استضافة موثوقة للمواقع مع حماية DDoS وخوادم VPS VDS 🔥 اشترِ استضافة مواقع ويب موثوقة مع حماية من هجمات DDoS، وخوادم VPS وVDS | ProHoster