Qbs yig'ish asboblar to'plamining yakuniy nashri chop etildi

Qt kompaniyasi e'lon qilindi yig'ish uchun asboblar to'plami Qbs 1.13 (Qt Build Suite). Bu Qt kompaniyasi tomonidan qurilayotgan Qbsning so'nggi versiyasi. Buni avvalroq eslang qabul qilindi Qbs rivojlanishini to'xtatish qarori. Qbs qmake o'rnini bosuvchi sifatida ishlab chiqilgan, ammo oxir-oqibat CMake-dan uzoq muddatda Qt uchun asosiy qurilish tizimi sifatida foydalanishga qaror qilindi.

Yaqin kelajakda hamjamiyat tomonidan Qbsni rivojlantirishni davom ettirish uchun mustaqil loyiha yaratilishi kutilmoqda, uning taqdiri mustaqil ishlab chiquvchilar tomonidan ko'rib chiqilayotgan qurilish tizimiga qiziqishiga bog'liq. Qt kompaniyasi qo'shimcha investitsiyalar va Qbsni ilgari surish uchun yuqori xarajatlar zarurati tufayli Qbs ustida ishlashni to'xtatadi.

Eslatib o'tamiz, Qbsni qurish Qt-ni bog'liqlik sifatida talab qiladi, garchi Qbsning o'zi har qanday loyihalarni yig'ish uchun mo'ljallangan. Qbs loyihani qurish skriptlarini aniqlash uchun QML tilining soddalashtirilgan versiyasidan foydalanadi, bu sizga tashqi modullarni ulash, JavaScript funksiyalaridan foydalanish va o'zboshimchalik bilan qurish qoidalarini yaratish mumkin bo'lgan juda moslashuvchan qurish qoidalarini aniqlash imkonini beradi.
Qbs makefayllarni yaratmaydi va kompilyatorlar va bog'lovchilarni ishga tushirishni mustaqil ravishda boshqaradi, barcha bog'liqliklarning batafsil grafigi asosida qurish jarayonini optimallashtiradi. Loyihada struktura va bog'liqliklar bo'yicha dastlabki ma'lumotlarning mavjudligi bir nechta iplardagi operatsiyalarning bajarilishini samarali parallellashtirishga imkon beradi.

Qbs 1.13 ning asosiy yangiliklari:

  • Qbs modullari uchun ishlatiladigan bir xil bog'liqlikni boshqarish mexanizmidan foydalangan holda loyihalarda pkg-config modullaridan foydalanish imkoniyati qo'shildi. Masalan, agar tizimda pkg-config asosida OpenSSL qurish paketi mavjud bo'lsa, uni Qbs loyihasida ishlatish uchun 'Depends { name: "openssl" }'ni qo'shish kifoya;
  • Mavjud Qt modullarini avtomatik aniqlash amalga oshirildi. Ishlab chiquvchilar endi setup-qt buyrug'i yordamida modul yo'llari bilan profil yaratishlari shart emas, bog'liqliklarda ko'rsatilgan barcha Qt modullari avtomatik ravishda sozlanadi;
  • Shaxsiy buyruqlar darajasida parallel ravishda ishga tushirilgan yig'ish vazifalari sonini boshqarish uchun qo'shilgan vositalar. Masalan, ulanish katta kiritish-chiqarish yukini hosil qiladi va katta hajmdagi operativ xotirani iste'mol qiladi, shuning uchun bog'lovchi kompilyatordan farqli ishga tushirish sozlamalarini talab qiladi. Endi alohida sozlamalarni "qbs --job-limits linker:2,compiler:8" buyrug'i yordamida o'rnatish mumkin;
  • Skript tiliga o'zgartirishlar kiritildi. Qoidalar endi chiqish uchun stub faylini ko'rsatmasdan aniqlanishi mumkin va loyiha fayllari boshida "import qbs" direktivasidan foydalanish shart emas. Bajariladigan fayllarni osonroq o'rnatish uchun Application, DynamicLibrary va StaticLibrary elementlariga yangi o'rnatish va installDir xususiyatlari qo'shildi;
  • Bog'lovchi skriptlarni rekursiv skanerlash uchun qo'shimcha yordam
    GNU bog'lovchisi;

  • C++ tili uchun cpp.linkerVariant xususiyati ld.gold, ld.bfd yoki lld bog'lovchilaridan foydalanishga majburlash uchun amalga oshirildi;
  • Katta Qt resurslarini yaratish uchun Qt uchun joriy Qt.core.enableBigResources mulki
  • Eskirgan AndroidApk elementi o'rniga umumiy dastur turidan foydalanish taklif etiladi;
  • Avtotest asosida testlar yaratish moduli qo'shildi;
  • Qmake-ning QMAKE_SUBSTITUTES-ga o'xshash xususiyatlarga ega matn shablonlari moduli qo'shildi;
  • C++ va Objective-C uchun Protocol Buffers formati uchun dastlabki yordam qo'shildi.

Manba: opennet.ru

a Izoh qo'shish