نسخه نهایی ابزار ساخت Qbs منتشر شد

شرکت Qt опубликовала ابزار مونتاژ Qbs 1.13 (Qt Build Suite). این آخرین نسخه Qbs است که توسط شرکت Qt تولید شده است. به یاد بیاوریم که قبلا چه اتفاقی افتاده است گرفته شده تصمیم برای توقف توسعه Qbs. Qbs به عنوان جایگزینی برای qmake توسعه داده شد، اما در نهایت تصمیم گرفته شد از CMake به عنوان سیستم اصلی ساخت Qt در دراز مدت استفاده شود.

در آینده نزدیک، انتظار می رود که یک پروژه مستقل برای ادامه توسعه Qbs توسط جامعه ایجاد شود که سرنوشت آن به علاقه توسعه دهندگان مستقل به سیستم مونتاژ مورد نظر بستگی دارد. شرکت Qt به دلیل نیاز به سرمایه گذاری اضافی و هزینه های بالا برای تبلیغ Qbs کار خود را بر روی Qbs متوقف می کند.

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

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

  • قابلیت استفاده از ماژول‌های pkg-config در پروژه‌ها با استفاده از مکانیزم پردازش وابستگی مشابهی که برای ماژول‌های Qbs استفاده می‌شود، اضافه شد. به عنوان مثال، اگر سیستم شما بسته ای برای ساخت OpenSSL بر اساس pkg-config دارد، برای استفاده از آن در پروژه Qbs، کافیست 'Depends { name: "openssl" }' را اضافه کنید.
  • تشخیص خودکار ماژول های Qt موجود را پیاده سازی کرد. توسعه دهندگان دیگر نیازی به ایجاد نمایه با مسیرهای ماژول با استفاده از دستور setup-qt ندارند؛ تمام ماژول های Qt مشخص شده در وابستگی ها به طور خودکار پیکربندی می شوند.
  • ابزارهای اضافه شده برای کنترل تعداد وظایف اسمبلی که به صورت موازی در سطح دستورات فردی اجرا می شوند. به عنوان مثال، پیوند دادن بار ورودی/خروجی زیادی ایجاد می کند و مقدار قابل توجهی رم مصرف می کند، بنابراین پیوند دهنده به تنظیمات راه اندازی متفاوتی نسبت به کامپایلر نیاز دارد. اکنون می توان تنظیمات جداگانه را با استفاده از دستور "qbs —job-limits linker:2, compiler:8" تنظیم کرد.
  • تغییراتی در زبان اسکریپت ایجاد شده است. اکنون می توان قوانین را بدون تعیین یک فایل خرد برای خروجی تعریف کرد و نیازی به استفاده از دستورالعمل "وارد کردن qbs" در ابتدای فایل های پروژه نیست. ویژگی های جدید install و installDir برای نصب راحت تر فایل های اجرایی به عناصر Application، DynamicLibrary و StaticLibrary اضافه شده است.
  • پشتیبانی برای اسکن بازگشتی اسکریپت های پیوند دهنده اضافه شده است
    پیوند دهنده گنو؛

  • برای C++، ویژگی cpp.linkerVariant برای اجبار استفاده از پیوند دهنده های ld.gold، ld.bfd یا lld پیاده سازی شده است.
  • Qt ویژگی Qt.core.enableBigResources را برای ایجاد منابع Qt بزرگ معرفی می کند
  • به جای عنصر منسوخ شده AndroidApk، پیشنهاد می شود از نوع برنامه عمومی استفاده شود.
  • اضافه شدن یک ماژول برای ایجاد تست بر اساس تست خودکار.
  • اضافه شدن ماژول texttemplate با قابلیت های مشابه QMAKE_SUBSTITUTES در qmake.
  • پشتیبانی اولیه برای فرمت Protocol Buffers برای C++ و Objective-C اضافه شده است.

منبع: opennet.ru

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