Ang katapusan nga pagpagawas sa mga himan sa pagtukod sa Qbs gimantala

Qt Company gipatik mga galamiton sa asembliya Qbs 1.13 (Qt Build Suite). Kini ang pinakabag-o nga pagpagawas sa Qbs nga gihimo sa Qt Company. Atong hinumdoman ang nahitabo kaniadto gikuha desisyon sa paghunong sa pagpalambo sa Qbs. Ang Qbs naugmad isip usa ka puli sa qmake, apan sa katapusan nakahukom nga gamiton ang CMake isip nag-unang sistema sa pagtukod alang sa Qt sa taas nga termino.

Sa umaabot nga umaabot, gilauman nga usa ka independente nga proyekto ang himuon aron mapadayon ang pag-uswag sa Qbs sa komunidad, nga ang kapalaran niini magdepende sa interes sa sistema sa asembliya nga gipangutana gikan sa mga independente nga developer. Ang Qt Company mihunong sa pagtrabaho sa Qbs tungod sa panginahanglan alang sa dugang nga pagpamuhunan ug taas nga gasto sa pagpasiugda sa Qbs.

Atong hinumdoman nga aron matukod ang Qbs, gikinahanglan ang Qt isip dependency, bisan kung ang Qbs mismo gidisenyo aron maorganisar ang asembliya sa bisan unsang mga proyekto. Gigamit sa Qbs ang usa ka pinasimple nga bersyon sa QML nga lengguwahe aron mahibal-an ang mga script sa pagtukod sa proyekto, nga nagtugot kanimo sa paghubit sa patas nga flexible nga mga lagda sa pagtukod nga makakonekta sa mga eksternal nga module, mogamit mga function sa JavaScript, ug maghimo mga kostumbre sa pagtukod.
Ang Qbs wala magmugna og mga makefile ug independente nga nagkontrol sa paglunsad sa mga compiler ug mga linker, nga nag-optimize sa proseso sa pagtukod base sa usa ka detalyado nga graph sa tanang dependency. Ang presensya sa inisyal nga datos bahin sa istruktura ug mga dependency sa proyekto nagtugot kanimo nga epektibo nga ipahiangay ang pagpatuman sa mga operasyon sa daghang mga hilo.

Pangunang mga inobasyon sa Qbs 1.13:

  • Gidugang ang abilidad sa paggamit sa mga module sa pkg-config sa mga proyekto gamit ang parehas nga mekanismo sa pagproseso sa dependency nga gigamit alang sa mga module sa Qbs. Pananglitan, kung ang imong sistema adunay usa ka pakete alang sa pagtukod sa OpenSSL base sa pkg-config, aron magamit kini sa usa ka proyekto sa Qbs, idugang lang 'Depende { ngalan: "openssl" }';
  • Gipatuman ang awtomatik nga pag-ila sa magamit nga mga module sa Qt. Ang mga developers dili na kinahanglan nga maghimo ug profile nga adunay module nga mga agianan gamit ang setup-qt command; ang tanang Qt modules nga gipiho sa dependencies awtomatikong i-configure;
  • Gidugang nga mga himan aron makontrol ang gidaghanon sa mga buluhaton sa asembliya nga nagdagan nga managsama sa lebel sa indibidwal nga mga mando. Pananglitan, ang pag-link makamugna og dako nga I/O load ug mokonsumo og dakong kantidad sa RAM, mao nga ang linker nagkinahanglan og lain-laing mga setting sa pagsugod kay sa compiler. Ang bulag nga mga setting mahimo nang itakda gamit ang sugo nga β€œqbs β€”job-limits linker:2,compiler:8”;
  • Nahimo ang mga pagbag-o sa lengguwahe sa scripting. Ang mga lagda mahimo na nga ipasabut nga wala’y pagtino sa usa ka stub file alang sa output, ug dili kinahanglan nga gamiton ang direktiba nga "import qbs" sa pagsugod sa mga file sa proyekto. Ang bag-ong pag-install ug pag-installDir nga mga kabtangan gidugang sa mga elemento sa Aplikasyon, DynamicLibrary ug StaticLibrary alang sa labi ka dali nga pag-install sa mga ma-executable nga file;
  • Gidugang nga suporta alang sa recursive scan sa linker script
    GNU linker;

  • Alang sa C++, ang cpp.linkerVariant nga kabtangan gipatuman aron mapugos ang paggamit sa ld.gold, ld.bfd o lld linkers;
  • Gipaila sa Qt ang kabtangan sa Qt.core.enableBigResources alang sa paghimo og daghang mga kapanguhaan sa Qt
  • Imbis sa karaan nga elemento sa AndroidApk, gisugyot nga gamiton ang generic nga tipo sa Application;
  • Gidugang ang usa ka module alang sa paghimo og mga pagsulay base sa autotest;
  • Gidugang ang texttemplate module nga adunay kapabilidad nga susama sa QMAKE_SUBSTITUTES sa qmake;
  • Gidugang inisyal nga suporta para sa Protocol Buffers format para sa C++ ug Objective-C.

Source: opennet.ru

Idugang sa usa ka comment