انتشار ابزار اسمبلی Qbs 1.20

انتشار ابزارهای ساخت Qbs 1.20 اعلام شد. این هفتمین نسخه از زمان خروج شرکت Qt از توسعه پروژه است که توسط جامعه علاقه مند به ادامه توسعه Qbs تهیه شده است. برای ساخت Qbs، Qt در بین وابستگی ها مورد نیاز است، اگرچه خود Qbs برای سازماندهی مونتاژ هر پروژه طراحی شده است. Qbs از یک نسخه ساده شده از زبان QML برای تعریف اسکریپت های ساخت پروژه استفاده می کند، که به شما امکان می دهد قوانین ساخت نسبتاً انعطاف پذیری را تعریف کنید که در آن ماژول های خارجی می توانند به هم متصل شوند، می توان از توابع جاوا اسکریپت استفاده کرد و قوانین ساخت دلخواه ایجاد کرد.

زبان برنامه نویسی مورد استفاده در Qbs برای خودکارسازی تولید و تجزیه اسکریپت های ساخت توسط IDE ها اقتباس شده است. علاوه بر این، Qbs فایل‌های make-files تولید نمی‌کند و خودش، بدون واسطه‌هایی مانند ابزار make، راه‌اندازی کامپایلرها و لینک‌کننده‌ها را کنترل می‌کند و فرآیند ساخت را بر اساس یک نمودار دقیق از همه وابستگی‌ها بهینه می‌کند. وجود داده های اولیه در مورد ساختار و وابستگی ها در پروژه به شما امکان می دهد تا به طور موثر اجرای عملیات را در چندین رشته موازی کنید. برای پروژه های بزرگ متشکل از تعداد زیادی فایل و دایرکتوری های فرعی، عملکرد بازسازی ها با استفاده از Qbs می تواند چندین برابر بهتر از ساخت باشد - بازسازی تقریباً آنی است و توسعه دهنده را وادار نمی کند که زمان خود را در انتظار صرف کند.

به یاد بیاورید که در سال 2018، شرکت Qt تصمیم گرفت توسعه Qbs را متوقف کند. Qbs به عنوان جایگزینی برای qmake توسعه داده شد، اما در نهایت تصمیم گرفته شد از CMake به عنوان سیستم اصلی ساخت Qt در دراز مدت استفاده شود. توسعه Qbs اکنون به عنوان یک پروژه مستقل که توسط نیروهای جامعه و توسعه دهندگان علاقه مند پشتیبانی می شود ادامه یافته است. برای توسعه، زیرساخت شرکت Qt همچنان استفاده می شود.

نوآوری های کلیدی در Qbs 1.20:

  • پشتیبانی کامل از فریم ورک Qt 6 از جمله شاخه Qt 6.2 اجرا شده است.
  • ماژول QtScript که دیگر در Qt 17 عرضه نمی شود و اکنون در Qbs گنجانده شده است، به روز شده و به C++6 منتقل شده است.
  • در مورد مجموعه ای با مجموعه ای از خواص متفاوت، لیستی از خواص قدیمی ارائه می شود.
  • دستوری برای افزودن کل نمایه به qbs-config اضافه شده است که به شما امکان می دهد بدون افزودن خصوصیات جداگانه این کار را انجام دهید و هنگامی که چندین SDK Android دارید به طور قابل توجهی سرعت راه اندازی را افزایش می دهد.
  • مشکل مدیریت نادرست زمان های به روز رسانی فایل در پلت فرم FreeBSD حل شده است.
  • پشتیبانی از C/C++ بهبود یافته است. پشتیبانی از کامپایلرهای COSMIC (COLDFIRE/M68K، HCS08، HCS12، STM8 و STM32) و ابزارهای Digital Mars اضافه شده است. برای کامپایلر MSVC، ویژگی cpp.enableCxxLanguageMacro پیاده سازی شده است و پشتیبانی از مقدار "c++20" به cpp.cxxLanguageVersion اضافه شده است.
  • برای پلتفرم اندروید، با تنظیم ویژگی Android.sdk.dexCompilerName، پشتیبانی برای استفاده از کامپایلر d8 dex به جای dx اجرا شده است. Ministro، برنامه ای برای اجرای کتابخانه های Qt در اندروید، متوقف شده است. جعبه ابزار برای ایجاد بسته ها از aapt به aapt2 (ابزار بسته بندی دارایی اندروید) به روز شده است.

منبع: opennet.ru

اضافه کردن نظر