Հրապարակվել է Qbs-ի կառուցման գործիքների վերջնական թողարկումը

Qt ընկերություն опубликовала հավաքման գործիքներ Հվ 1.13 (QT Build Suite): Սա Qt ընկերության կողմից արտադրված Qbs-ի վերջին թողարկումն է: Հիշենք, թե ինչ է տեղի ունեցել ավելի վաղ վերցրեց Qbs-ի զարգացումը դադարեցնելու որոշում: Qbs-ը մշակվել է որպես qmake-ի փոխարինում, սակայն, ի վերջո, որոշվել է երկարաժամկետ հեռանկարում օգտագործել CMake-ը որպես Qt-ի հիմնական կառուցման համակարգ:

Մոտ ապագայում ակնկալվում է, որ կստեղծվի անկախ նախագիծ՝ համայնքի կողմից Qbs-ի զարգացումը շարունակելու համար, որի ճակատագիրը կախված կլինի խնդրո առարկա հավաքման համակարգի նկատմամբ անկախ մշակողների հետաքրքրությունից: Qt ընկերությունը դադարեցնում է աշխատել Qbs-ի վրա՝ լրացուցիչ ներդրումների անհրաժեշտության և Qbs-ի առաջմղման համար բարձր ծախսերի պատճառով:

Հիշենք, որ Qbs կառուցելու համար Qt-ը պահանջվում է որպես կախվածություն, թեև Qbs-ն ինքնին նախատեսված է ցանկացած նախագծի հավաքումը կազմակերպելու համար։ Qbs-ն օգտագործում է QML լեզվի պարզեցված տարբերակը՝ նախագծի կառուցման սկրիպտները սահմանելու համար, ինչը թույլ է տալիս սահմանել բավականին ճկուն կառուցման կանոններ, որոնք կարող են միացնել արտաքին մոդուլները, օգտագործել JavaScript ֆունկցիաները և ստեղծել հատուկ կառուցման կանոններ:
Qbs-ը չի ստեղծում ֆայլեր և ինքնուրույն վերահսկում է կոմպիլյատորների և կապակցիչների գործարկումը՝ օպտիմալացնելով կառուցման գործընթացը՝ հիմնված բոլոր կախվածությունների մանրամասն գրաֆիկի վրա: Նախագծում կառուցվածքի և կախվածությունների մասին նախնական տվյալների առկայությունը թույլ է տալիս արդյունավետորեն զուգահեռացնել գործողությունների կատարումը մի քանի թելերով:

Հիմնական նորամուծությունները Qbs 1.13-ում.

  • Ավելացվեց pkg-config մոդուլներ օգտագործելու հնարավորությունը նախագծերում՝ օգտագործելով կախվածության մշակման նույն մեխանիզմը, որն օգտագործվում է Qbs մոդուլների համար: Օրինակ, եթե համակարգն ունի փաթեթ pkg-config-ի վրա հիմնված OpenSSL կառուցման համար, Qbs նախագծում օգտագործելու համար պարզապես ավելացրեք «Կախված է {անունը՝ «openssl» }»;
  • Իրականացված Qt մոդուլների ավտոմատ հայտնաբերում: Մշակողները այլևս կարիք չունեն ստեղծելու մոդուլային ուղիներով պրոֆիլ՝ օգտագործելով setup-qt հրամանը, կախվածության մեջ նշված բոլոր Qt մոդուլները կկարգավորվեն ավտոմատ կերպով.
  • Ավելացվել են գործիքներ՝ առանձին հրամանների մակարդակով զուգահեռ կատարվող հավաքման առաջադրանքների քանակը վերահսկելու համար: Օրինակ, կապակցումը ստեղծում է I/O մեծ բեռ և սպառում է RAM-ի զգալի քանակություն, ուստի կապակցիչը պահանջում է գործարկման տարբեր կարգավորումներ, քան կոմպիլյատորը: Առանձին կարգավորումներ այժմ կարելի է սահմանել՝ օգտագործելով «qbs —job-limits linker:2,compiler:8» հրամանը;
  • Սցենարի լեզվում փոփոխություններ են կատարվել. Կանոնները այժմ կարող են սահմանվել առանց ելքի համար կոճղ ֆայլ նշելու, և անհրաժեշտ չէ օգտագործել «ներմուծել qbs» հրահանգը նախագծի ֆայլերի սկզբում: Նոր install and installDir հատկությունները ավելացվել են Application, DynamicLibrary և StaticLibrary տարրերին՝ գործարկվող ֆայլերի ավելի հարմար տեղադրման համար;
  • Ավելացվեց կապող սկրիպտների ռեկուրսիվ սկանավորման աջակցություն
    GNU կապող;

  • C++-ի համար cpp.linkerVariant հատկությունն կիրառվել է ld.gold, ld.bfd կամ lld կապակցիչների օգտագործումը ստիպելու համար;
  • Qt-ը ներկայացնում է Qt.core.enableBigResources հատկությունը Qt մեծ ռեսուրսներ ստեղծելու համար
  • Հնացած AndroidApk տարրի փոխարեն առաջարկվում է օգտագործել ընդհանուր Application տեսակը.
  • Ավելացրել է մոդուլ՝ ավտոմատ թեստերի հիման վրա թեստեր ստեղծելու համար;
  • Ավելացվել է տեքստային կաղապարի մոդուլ՝ QMAKE_SUBSTITUTES-ի նման հնարավորություններով qmake-ում;
  • Ավելացվել է նախնական աջակցություն Protocol Buffers ձևաչափին C++-ի և Objective-C-ի համար:

Source: opennet.ru

Добавить комментарий