Qbs بلڈ ٹولز کی حتمی ریلیز شائع ہو چکی ہے۔

کیو ٹی کمپنی опубликовала اسمبلی کے اوزار کیوبس 1.13 (کیو ٹی بلڈ سویٹ)۔ یہ Qt کمپنی کے ذریعہ تیار کردہ Qbs کی تازہ ترین ریلیز ہے۔ آئیے یاد کرتے ہیں کہ پہلے کیا ہوا تھا۔ قبول کر لیا Qbs کی ترقی روکنے کا فیصلہ۔ Qbs کو qmake کے متبادل کے طور پر تیار کیا گیا تھا، لیکن آخر کار طویل مدت میں Qt کے لیے بنیادی تعمیراتی نظام کے طور پر CMake کو استعمال کرنے کا فیصلہ کیا گیا۔

مستقبل قریب میں، یہ توقع کی جاتی ہے کہ کمیونٹی کی طرف سے Qbs کی ترقی کو جاری رکھنے کے لیے ایک آزاد پروجیکٹ بنایا جائے گا، جس کی قسمت کا انحصار خود مختار ڈویلپرز کی جانب سے اسمبلی کے نظام میں دلچسپی پر ہوگا۔ Qt کمپنی اضافی سرمایہ کاری کی ضرورت اور Qbs کو فروغ دینے کے لیے زیادہ اخراجات کی وجہ سے Qbs پر کام کرنا بند کر دیتی ہے۔

ہمیں یاد کرنا چاہیے کہ Qbs بنانے کے لیے، Qt کو انحصار کے طور پر درکار ہے، حالانکہ Qbs خود کسی بھی پروجیکٹ کی اسمبلی کو منظم کرنے کے لیے ڈیزائن کیا گیا ہے۔ Qbs پروجیکٹ بلڈ اسکرپٹس کی وضاحت کے لیے QML زبان کا ایک آسان ورژن استعمال کرتا ہے، جو آپ کو کافی لچکدار تعمیراتی اصولوں کی وضاحت کرنے کی اجازت دیتا ہے جو بیرونی ماڈیولز کو جوڑ سکتے ہیں، JavaScript فنکشنز استعمال کرسکتے ہیں، اور اپنی مرضی کے مطابق تعمیراتی اصول بنا سکتے ہیں۔
Qbs میک فائلز نہیں بناتا اور آزادانہ طور پر کمپائلرز اور لنکرز کے آغاز کو کنٹرول کرتا ہے، تمام انحصار کے تفصیلی گراف کی بنیاد پر تعمیراتی عمل کو بہتر بناتا ہے۔ پراجیکٹ میں ساخت اور انحصار کے بارے میں ابتدائی ڈیٹا کی موجودگی آپ کو کئی دھاگوں میں کارروائیوں کے عمل کو مؤثر طریقے سے متوازی کرنے کی اجازت دیتی ہے۔

Qbs 1.13 میں اہم اختراعات:

  • اسی انحصاری پروسیسنگ میکانزم کا استعمال کرتے ہوئے پروجیکٹس میں pkg-config ماڈیولز استعمال کرنے کی صلاحیت شامل کی گئی جو Qbs ماڈیولز کے لیے استعمال ہوتی ہے۔ مثال کے طور پر، اگر آپ کے سسٹم میں pkg-config کی بنیاد پر OpenSSL بنانے کے لیے پیکیج ہے، تو اسے Qbs پروجیکٹ میں استعمال کرنے کے لیے، صرف 'Depends { name: "openssl" }' شامل کریں۔
  • دستیاب Qt ماڈیولز کا خودکار پتہ لگانے کا عمل۔ ڈویلپرز کو اب سیٹ اپ-qt کمانڈ کا استعمال کرتے ہوئے ماڈیول پاتھ کے ساتھ پروفائل بنانے کی ضرورت نہیں ہے؛ انحصار میں بیان کردہ تمام Qt ماڈیول خود بخود کنفیگر ہو جائیں گے۔
  • انفرادی کمانڈز کی سطح پر متوازی طور پر چلنے والے اسمبلی کاموں کی تعداد کو کنٹرول کرنے کے لیے ٹولز شامل کیے گئے۔ مثال کے طور پر، لنک کرنے سے ایک بڑا I/O بوجھ بنتا ہے اور کافی مقدار میں RAM استعمال کرتا ہے، لہذا لنکر کو کمپائلر سے مختلف اسٹارٹ اپ سیٹنگز کی ضرورت ہوتی ہے۔ "qbs —job-limit linker:2,compiler:8" کمانڈ کا استعمال کرتے ہوئے اب الگ سیٹنگز سیٹ کی جا سکتی ہیں۔
  • رسم الخط کی زبان میں تبدیلیاں کی گئی ہیں۔ آؤٹ پٹ کے لیے اسٹب فائل کی وضاحت کیے بغیر اب رولز کی وضاحت کی جا سکتی ہے، اور پروجیکٹ فائلوں کے آغاز میں "import qbs" ڈائریکٹیو استعمال کرنا ضروری نہیں ہے۔ قابل عمل فائلوں کی زیادہ آسان تنصیب کے لیے ایپلی کیشن، ڈائنامک لائبریری اور سٹیٹک لائبریری عناصر میں نئی ​​انسٹال اور انسٹال ڈائر کی خصوصیات شامل کی گئی ہیں۔
  • لنکر اسکرپٹس کی تکراری اسکیننگ کے لیے معاونت شامل کی گئی۔
    GNU لنکر؛

  • C++ کے لیے، cpp.linkerVariant پراپرٹی کو ld.gold، ld.bfd یا lld لنکرز کے استعمال پر مجبور کرنے کے لیے لاگو کیا گیا ہے۔
  • Qt نے بڑے Qt وسائل بنانے کے لیے Qt.core.enableBigResources پراپرٹی متعارف کرائی ہے۔
  • متروک AndroidApk عنصر کی بجائے، عام ایپلی کیشن کی قسم کو استعمال کرنے کی تجویز ہے۔
  • آٹو ٹیسٹ کی بنیاد پر ٹیسٹ بنانے کے لیے ایک ماڈیول شامل کیا گیا۔
  • qmake میں QMAKE_SUBSTITUTES جیسی صلاحیتوں کے ساتھ ٹیکسٹ ٹیمپلیٹ ماڈیول شامل کیا گیا۔
  • C++ اور Objective-C کے لیے پروٹوکول بفر فارمیٹ کے لیے ابتدائی مدد شامل کی گئی۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں