Објавување на алатките за изградба на Qbs 1.21 и почеток на тестирањето на Qt 6.3

Објавено е објавувањето на алатките за изградба на Qbs 1.21. Ова е осмо издание откако компанијата Qt го напушти развојот на проектот, подготвен од заедницата заинтересирана за продолжување на развојот на Qbs. За да се изгради Qbs, Qt е потребен меѓу зависностите, иако самиот Qbs е дизајниран да организира склопување на какви било проекти. Qbs користи поедноставена верзија на јазикот QML за да ги дефинира скриптите за изградба на проекти, што ви овозможува да дефинирате прилично флексибилни правила за градење кои можат да поврзуваат надворешни модули, да користат JavaScript функции и да креираат сопствени правила за градење.

Јазикот за скриптирање што се користи во Qbs е прилагоден да го автоматизира генерирањето и парсирањето на скрипти за градење од страна на IDE. Покрај тоа, Qbs не генерира мејк-датотеки, а самиот, без посредници како што е алатката за правење, го контролира стартувањето на компајлери и поврзувачи, оптимизирајќи го процесот на градење врз основа на детален график на сите зависности. Присуството на првични податоци за структурата и зависностите во проектот ви овозможува ефективно да го паралелизирате извршувањето на операциите во неколку нишки. За големи проекти што се состојат од голем број датотеки и поддиректориуми, перформансите за обнова со помош на Qbs може да ги надминат перформансите за неколку пати - обновата е скоро моментална и не го тера развивачот да троши време на чекање.

Потсетиме дека во 2018 година, компанијата Qt одлучи да престане да го развива Qbs. Qbs беше развиен како замена за qmake, но на крајот беше одлучено да се користи CMake како главен систем за градење на Qt на долг рок. Развојот на Qbs сега продолжи како независен проект поддржан од силите на заедницата и заинтересираните развивачи. Инфраструктурата на компанијата Qt продолжува да се користи за развој.

Клучни иновации во Qbs 1.21:

  • Механизмот на даватели на модули (генератори на модули) е редизајниран. За рамки како што се Qt и Boost, сега е можно да се користат повеќе од еден провајдер, да се одреди кој провајдер да работи со користење на новото својство qbsModuleProviders и да се одреди приоритет за избор на модули генерирани од различни провајдери. На пример, можете да наведете два провајдери „Qt“ и „qbspkgconfig“, од кои првиот ќе се обиде да ја користи инсталацијата Qt на корисникот (преку пребарување qmake), а ако не се најде таква инсталација, вториот провајдер ќе се обиде да ја користи Qt обезбеден од системот (преку повик до pkg-config) : CppApplication { Depends { name: "Qt.core" } датотеки: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Додаден е провајдерот „qbspkgconfig“, кој го замени давателот на модулот „резервен“, кој се обиде да генерира модул користејќи pkg-config ако бараниот модул не бил генериран од други провајдери. За разлика од „fallback“, „qbspkgconfig“ наместо да ја повикува алатката pkg-config користи вградена библиотека C++ за директно читање на датотеките „.pc“, што овозможува забрзување на работата и добивање дополнителни информации за зависностите на пакетите што не се достапни при повикување алатката pkg-config.
  • Додадена е поддршка за спецификацијата C++23, која го дефинира идниот стандард C++.
  • Додадена е поддршка за архитектурата Elbrus E2K за комплетот алатки GCC.
  • За платформата Android, својството Android.ndk.buildId е додадено за да се отфрли стандардната вредност за знамето на поврзувачот „--build-id“.
  • Модулите capnproto и protobuf ја имплементираат способноста да се користат работните времиња обезбедени од провајдерот qbspkgconfig.
  • Решени се проблемите со следењето на промените во изворните датотеки на FreeBSD поради испуштање на милисекунди при проценување на времето на модификација на датотеките.
  • Додадено е својството ConanfileProbe.verbose за да се олесни отстранувањето грешки на проектите што користат менаџер на пакети Conan.

Дополнително, можеме да го забележиме почетокот на алфа тестирањето на рамката Qt 6.3, која имплементира нов модул „Qt Language Server“ со поддршка за јазичниот сервер и протоколите JsonRpc 2.0, додаден е голем дел од нови функции во Qt Core модулот, а MessageDialog од типот QML е имплементиран во модулот Qt Quick Dialogs За да се користат дијалозите обезбедени од платформата, во модулот Qt Wayland Compositor се додадени композитен Qt Shell сервер и API за креирање на ваши сопствени наставки за корисничка школка. .

Модулот Qt QML нуди имплементација на компајлерот qmltc (компајлер од типот QML), кој ви овозможува да ги компајлирате QML објектните структури во класи во C++. За комерцијалните корисници на Qt 6.3, започнато е тестирање на производот Qt Quick Compiler, кој, покрај горенаведениот компајлер за типови на QML, вклучува и компајлер за скрипти QML, кој ви овозможува да ги компајлирате QML функциите и изразите во C++ код. Забележано е дека употребата на Qt Quick Compiler ќе ги доближи перформансите на програмите базирани на QML до домашните програми; особено, при составувањето наставки, има намалување на времето за стартување и извршување за приближно 30% во споредба со користењето на интерпретираната верзија .

Извор: opennet.ru

Додадете коментар