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