Wydanie narzędzia montażowego Qbs 1.20

Ogłoszono wydanie narzędzi do kompilacji Qbs 1.20. Jest to siódme wydanie od czasu odejścia firmy Qt z 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 podjęła decyzję o zaprzestaniu rozwoju Qbs. Qbs został opracowany jako zamiennik qmake, ale ostatecznie zdecydowano się na użycie CMake jako głównego systemu kompilacji Qt w dłuższej perspektywie. Rozwój Qbs jest obecnie kontynuowany jako niezależny projekt wspierany przez siły społeczne i zainteresowanych programistów. Infrastruktura Qt Company jest w dalszym ciągu wykorzystywana do rozwoju.

Kluczowe innowacje w Qbs 1.20:

  • Zaimplementowano pełną obsługę frameworka Qt 6, w tym gałęzi Qt 6.2.
  • Moduł QtScript, który nie jest już dostarczany w Qt 17 i jest teraz zawarty w Qbs, został zaktualizowany i przeniesiony do C++ 6.
  • W przypadku złożenia z innym zestawem właściwości podawana jest lista starych właściwości.
  • Do qbs-config dodano polecenie dodania całego profilu, co pozwala obejść się bez osobnego dodawania właściwości i znacznie przyspiesza uruchamianie, gdy masz kilka SDK Androida.
  • Rozwiązano problem nieprawidłowej obsługi czasów aktualizacji plików na platformie FreeBSD.
  • Ulepszona obsługa C/C++. Dodano obsługę kompilatorów COSMIC (COLDFIRE/M68K, HCS08, HCS12, STM8 i STM32) oraz narzędzi Digital Mars. Dla kompilatora MSVC zaimplementowano właściwość cpp.enableCxxLanguageMacro i dodano obsługę wartości „c++20” do cpp.cxxLanguageVersion.
  • W przypadku platformy Android obsługa używania kompilatora d8 dex zamiast dx została zaimplementowana poprzez ustawienie właściwości Android.sdk.dexCompilerName. Ministro, program do uruchamiania bibliotek Qt na Androidzie, został wycofany. Zestaw narzędzi do tworzenia pakietów został zaktualizowany z aapt do aapt2 (narzędzie do pakowania zasobów systemu Android).

Źródło: opennet.ru

Dodaj komentarz