Qbs-koontityökalujen lopullinen julkaisu on julkaistu

Qt Yritys julkaistu kokoonpanotyökalut Qbs 1.13 (Qt Build Suite). Tämä on Qt Companyn tuottaman Qbs:n uusin julkaisu. Muistetaan mitä tapahtui aiemmin 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ä.

Lähitulevaisuudessa on odotettavissa, että yhteisön Qbs-kehityksen jatkamiseksi luodaan itsenäinen projekti, jonka kohtalo riippuu riippumattomien kehittäjien kiinnostuksesta kyseistä kokoonpanojärjestelmää kohtaan. Qt Company lopettaa Qbs-työskentelyn, koska se tarvitsee lisäinvestointeja ja korkeat kustannukset Qbs:n edistämisestä.

Muistakaamme, että Qbs:n rakentamiseen tarvitaan Qt riippuvuutena, vaikka itse Qbs on suunniteltu järjestämään minkä tahansa projektin 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 ei luo maketiedostoja ja ohjaa itsenäisesti kääntäjien ja linkittäjien käynnistämistä optimoiden koontiprosessin kaikkien riippuvuuksien yksityiskohtaisen kaavion perusteella. Alkutietojen läsnäolo projektin rakenteesta ja riippuvuuksista antaa sinun rinnastaa toimintojen suorittamisen tehokkaasti useissa säikeissä.

Tärkeimmät innovaatiot Qbs 1.13:ssä:

  • Lisätty mahdollisuus käyttää pkg-config-moduuleja projekteissa käyttäen samaa riippuvuuskäsittelymekanismia, jota käytetään Qbs-moduuleille. Jos järjestelmässäsi on esimerkiksi paketti OpenSSL:n rakentamiseen pkg-config-pohjaisena, voit käyttää sitä Qbs-projektissa lisäämällä 'Depends { name: "openssl" }';
  • Käytettävissä olevien Qt-moduulien automaattinen tunnistus. Kehittäjien ei enää tarvitse luoda profiilia moduulipoluilla käyttämällä setup-qt-komentoa, vaan kaikki riippuvuuksissa määritetyt Qt-moduulit määritetään automaattisesti.
  • Lisätty työkaluja, joilla ohjataan rinnakkaisten kokoonpanotehtävien määrää yksittäisten komentojen tasolla. Esimerkiksi linkittäminen luo suuren I/O-kuorman ja kuluttaa huomattavan määrän RAM-muistia, joten linkitin vaatii erilaiset käynnistysasetukset kuin kääntäjä. Erilliset asetukset voidaan nyt asettaa komennolla “qbs —job-limits linker:2,compiler:8”;
  • Skriptikieleen on tehty muutoksia. Säännöt voidaan nyt määrittää määrittämättä tynkätiedostoa tulosteelle, eikä "import qbs" -käskyä tarvitse käyttää projektitiedostojen alussa. Sovellus-, DynamicLibrary- ja StaticLibrary-elementteihin on lisätty uusia asennus- ja installDir-ominaisuuksia, jotka helpottavat suoritettavien tiedostojen asennusta.
  • Lisätty tuki linkkiohjelmien rekursiiviseen skannaukseen
    GNU-linkkeri;

  • C++:ssa cpp.linkerVariant-ominaisuus on otettu käyttöön pakottamaan ld.gold-, ld.bfd- tai lld-linkkereiden käyttö;
  • Qt esittelee Qt.core.enableBigResources-ominaisuuden suurten Qt-resurssien luomiseen
  • Vanhentuneen AndroidApk-elementin sijasta ehdotetaan käytettäväksi yleistä Sovellustyyppiä;
  • Lisätty moduuli automaattiseen testaukseen perustuvien testien luomiseen;
  • Lisätty tekstimallimoduuli, jolla on samanlaiset ominaisuudet kuin QMAKE_SUBSTITUTES qmakessa;
  • Lisätty alustava tuki protokollapuskuriformaatille C++:lle ja Objective-C:lle.

Lähde: opennet.ru

Lisää kommentti