Qbs 1.17 kokoonpanotyökalun vapautus

Lähettäjä kokoonpanotyökalujen vapauttaminen Qbs 1.17. Tämä on neljäs julkaisu sen jälkeen, kun Qt Company jätti projektin kehityksen, ja sen on valmistellut Qbs:n kehittämisen jatkamisesta kiinnostuneet yhteisöt. Qbs:n rakentamiseen vaaditaan riippuvuuksien joukossa Qt, vaikka itse Qbs on suunniteltu järjestämään minkä tahansa projektien kokoonpano. Qbs käyttää yksinkertaistettua versiota QML-kielestä projektin koontiskriptien määrittämiseen, mikä mahdollistaa melko joustavien koontisääntöjen määrittämisen, jotka voivat yhdistää ulkoisia moduuleja, käyttää JavaScript-funktioita ja luoda mukautettuja koontisääntöjä.

Qbs:ssä käytetty komentosarjakieli on mukautettu automatisoimaan IDE:iden koontiskriptien luominen ja jäsentäminen. Lisäksi Qbs ei luo make-tiedostoja, ja itse ilman välittäjiä, kuten make-apuohjelmaa, hallitsee kääntäjien ja linkittäjien käynnistystä optimoiden koontiprosessin yksityiskohtaisen kaavion perusteella kaikista riippuvuuksista. Alkutietojen läsnäolo projektin rakenteesta ja riippuvuuksista antaa sinun rinnastaa toimintojen suorittamisen tehokkaasti useissa säikeissä. Suurissa projekteissa, jotka koostuvat suuresta määrästä tiedostoja ja alihakemistoja, uudelleenrakennussuorituskyky Qbs:llä voi olla useita kertoja parempi kuin make - uusinta on lähes välitön, eikä kehittäjä joudu odottamaan aikaa.

Muistakaamme, että vuonna 2018 Qt Company oli vastaanotettu päätös lopettaa Qbs:n kehittäminen. Qbs kehitettiin korvaamaan qmake, mutta lopulta päätettiin käyttää CMakea Qt:n päärakennusjärjestelmänä pitkällä aikavälillä. Qbs:n kehittäminen on nyt jatkunut itsenäisenä projektina yhteisön ja kiinnostuneiden kehittäjien tukemana. Qt Companyn infrastruktuuria käytetään edelleen kehittämiseen.

Pääasiallinen innovaatioita Qbs 1.17:

  • Lisätty alkutuki Qt 6.
  • Lisätty capnp-moduuli tietojen serialisointiprotokollan käyttöä varten Cap'n Proto C++-sovelluksissa.
  • lisätty kyky määrittää tuote- ja projektimuuttujat moduleProvider-ominaisuusmääritelmien oikealla puolella (esimerkiksi "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
  • Lisätty tuki työkaluille C/C++-projektien rakentamiseen, jotta ne toimivat laitteiston päällä ilman käyttöjärjestelmää (paljas metalli, qbs.targetPlatform-parametrin ollessa "ei mitään"): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) Ja
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).

  • Lisätty tuki Xcode 12.0 -kehitysympäristölle macOS:lle.
  • Qt for Android -moduulit on puhdistettu.
  • Parannettu koontituki Android-alustalle. Lisättiin packageType-ominaisuus Android.sdk-moduuliin "aab" (Android App Bundles) -pakettien luomiseksi "apk" -paketin sijaan sekä aaptName-ominaisuus uuden aapt2:n (Android Asset Packaging Tool) käyttämiseksi. Tuki Android-sovellusten rakentamiselle ARMv5-, MIPS- ja MIPS64-alustoille on lopetettu.

Lähde: opennet.ru

Lisää kommentti