Opublikowano końcową wersję narzędzi do budowy Qbs

Firma Qt Company opublikowała narzędzie do kompilacji Qbs 1.13 (Qt Build Suite). To ostatnia wersja Qbs, opracowana przez firmę Qt Company. Przypomnijmy, że wcześniej podjęto przyjęto decyzję o zaprzestaniu rozwoju Qbs. Qbs rozwijał się jako zamiennik qmake, ale ostatecznie postanowiono użyć CMake jako głównego systemu kompilacji dla Qt w dłuższej perspektywie.

W najbliższym czasie oczekiwane jest stworzenie niezależnego projektu mającego na celu kontynuację rozwoju Qbs przez społeczność, którego przyszłość będzie zależała od zainteresowania tym systemem kompilacji ze strony niezależnych deweloperów. Qt Company kończy pracę nad Qbs z powodu potrzeby dodatkowych inwestycji i dużych kosztów promocji Qbs.

Przypomnijmy, że do kompilacji Qbs jako zależności wymagana jest Qt, chociaż Qbs jest przeznaczony do organizacji kompilacji wszelkich projektów. Qbs stosuje uproszczoną wersję języka QML do definiowania scenariuszy kompilacji projektu, co pozwala na określenie wystarczająco elastycznych reguł kompilacji, w których można dołączać zewnętrzne moduły, używać funkcji w JavaScript oraz tworzyć dowolne reguły kompilacji.
Qbs nie generuje plików make i samodzielnie kontroluje uruchamianie kompilatorów oraz linkerów, optymalizując proces kompilacji na podstawie szczegółowego grafu wszystkich zależności. Posiadanie danych wejściowych na temat struktury i zależności w projekcie pozwala na efektywne równoległe wykonywanie operacji w wielu wątkach.

Główne nowości w Qbs 1.13:

  • Dodano możliwość używania w projektach modułów pkg-config z zastosowaniem tego samego mechanizmu przetwarzania zależności, który jest stosowany dla modułów Qbs. Na przykład, w przypadku posiadania pakietu do kompilacji OpenSSL w systemie opartym na pkg-config, aby go użyć w projekcie Qbs, wystarczy dodać ‘Depends { name: «openssl» }’.
  • Zrealizowane automatyczne wykrywanie dostępnych modułów Qt. Deweloperzy nie muszą już tworzyć profilu z ścieżkami do modułów przy użyciu polecenia setup-qt, wszystkie moduły Qt wymienione w zależnościach zostaną skonfigurowane automatycznie;
  • Dodano narzędzie do kontrolowania liczby jednoczesnych zadań budowania na poziomie poszczególnych zespołów. Na przykład podczas łączenia generowany jest duży ruch wejścia/wyjścia i zużywane jest znaczne ilości pamięci RAM, dlatego linker wymaga innych ustawień uruchamiania niż kompilator. Oddzielne ustawienia można teraz określić za pomocą polecenia „qbs —job-limits linker:2,compiler:8”;
  • Wprowadzono zmiany w języku skryptów. Reguły mogą być teraz definiowane bez podawania pliku zastępczego do wyjścia, a na początku plików projektu nie trzeba już używać dyrektywy „import qbs”. Do elementów Application, DynamicLibrary i StaticLibrary dodano nowe właściwości install i installDir dla łatwiejszej instalacji plików wykonywalnych;
  • Dodano obsługę rekurencyjnego skanowania skryptów linkera
    GNU linker;
  • Dla języka C++ wprowadzono właściwość cpp.linkerVariant do wymuszonego korzystania z linkerów ld.gold, ld.bfd lub lld;
  • Dla Qt wprowadzono właściwość Qt.core.enableBigResources do tworzenia dużych zasobów Qt
  • Zamiast przestarzałego elementu AndroidApk zaproponowano wykorzystanie wspólnego typu Application;
  • Dodano moduł do tworzenia testów opartego na autotest;
  • Dodano moduł texttemplate z funkcjami podobnymi do QMAKE_SUBSTITUTES w qmake;
  • Dodano wstępną obsługę formatu Protocol Buffers dla C++ i Objective-C.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster