Wydanie narzędzia montażowego Qbs 1.16

Przesłane przez wydanie narzędzi montażowych Qbs 1.16. Jest to już trzecie wydanie odkąd firma Qt odeszła od rozwoju projektu, przygotowane przez społeczność zainteresowaną dalszym rozwojem Qbs. Aby zbudować Qbs, wśród zależności wymagany jest Qt, chociaż sam Qbs jest przeznaczony do organizowania montażu dowolnych projektów. Qbs używa uproszczonej wersji języka QML do definiowania skryptów kompilacji projektów, co pozwala na zdefiniowanie dość elastycznych reguł kompilacji, które mogą łączyć moduły zewnętrzne, korzystać z funkcji JavaScript i tworzyć niestandardowe reguły kompilacji.

Język skryptowy używany w Qbs jest przystosowany do automatyzacji generowania i analizowania skryptów kompilacji przez IDE. Dodatkowo Qbs nie generuje plików makefile, a sam, bez pośredników takich jak narzędzie make, kontroluje uruchamianie kompilatorów i linkerów, optymalizując proces kompilacji w oparciu o szczegółowy wykres wszystkich zależności. Obecność początkowych danych o strukturze i zależnościach w projekcie pozwala efektywnie zrównoleglić wykonywanie operacji w kilku wątkach. W przypadku dużych projektów składających się z dużej liczby plików i podkatalogów, wydajność przebudowy przy użyciu Qbs może być kilkukrotnie większa niż make - przebudowa jest niemal natychmiastowa i nie powoduje, że programista traci czas na czekanie.

Przypomnijmy, że w 2018 roku firma Qt była zrobione decyzja o zaprzestaniu rozwoju Qbs. Qbs został opracowany jako zamiennik qmake, ale ostatecznie zdecydowano się używać CMake jako głównego systemu kompilacji Qt w dłuższej perspektywie. Rozwój Qbs jest obecnie kontynuowany jako niezależny projekt wspierany przez społeczność i zainteresowanych programistów. Infrastruktura Qt Company jest w dalszym ciągu wykorzystywana do rozwoju.

Głównym innowacje Qbs 1.16:

  • Zapewniono łączenie właściwości list w modułach połączonych wzajemnymi zależnościami, co jest istotne np. przy przetwarzaniu flag takich jak cpp.staticLibraries;
  • Dodano automatyczne wykrywanie GCC i IAR dla mikrokontrolerów Renesas;
  • Dodano obsługę Xcode 11.4 w systemie macOS;
  • Rozszerzono możliwości modułu obsługi clang-cl;
  • Zapewniono automatyczne wykrywanie MSVC, clang-cl i MinGW w profilach, w których lokalizacja zestawu narzędzi nie jest wyraźnie zdefiniowana;
  • Uproszczono włączanie i konfigurowanie osobno zainstalowanych informacji debugowania (cpp.separateDebugInformation) poprzez sekcje Application i DynamicLibrary w parametrach projektu;
  • Dodano obsługę Qt 5.14 dla Androida i zaktualizowano narzędzie qbs-setup-android;
  • Dodano obsługę plików JSON generowanych przez narzędzie moc (Qt >= 5.15) do ustawień Qt.core.generateMetaTypesFile i Qt.core.metaTypesInstallDir;
  • Dodano obsługę nowego mechanizmu deklaracji typu dla QML wprowadzonego w Qt 5.15;
  • Dodano ustawienie ConanfileProbe, aby uprościć integrację Qbs z menedżerem pakietów Conan (dla C/C++).

Źródło: opennet.ru

Dodaj komentarz