απελευθέρωση των εργαλείων συναρμολόγησης . Αυτή είναι η τέταρτη κυκλοφορία από τότε που η Qt Company αποχώρησε από το έργο, που προετοιμάστηκε από την κοινότητα που ενδιαφέρεται να συνεχίσει την ανάπτυξη του Qbs. Για τη δημιουργία του Qbs, απαιτείται το Qt ως εξάρτηση, αν και το ίδιο το Qbs έχει σχεδιαστεί για να οργανώνει τη δημιουργία οποιωνδήποτε έργων. Το Qbs χρησιμοποιεί μια απλοποιημένη έκδοση της γλώσσας QML για να ορίσει σενάρια κατασκευής έργων, η οποία σας επιτρέπει να ορίσετε αρκετά ευέλικτους κανόνες κατασκευής που μπορούν να περιλαμβάνουν εξωτερικές μονάδες, να χρησιμοποιήσετε συναρτήσεις JavaScript και να δημιουργήσετε προσαρμοσμένους κανόνες κατασκευής.
Η γλώσσα δέσμης ενεργειών που χρησιμοποιείται στο Qbs είναι προσαρμοσμένη για να αυτοματοποιεί τη δημιουργία και την ανάλυση σεναρίων build από IDE. Επιπλέον, το Qbs δεν δημιουργεί makefiles και το ίδιο, χωρίς μεσάζοντες όπως το βοηθητικό πρόγραμμα make, ελέγχει την εκκίνηση μεταγλωττιστών και συνδέσμων, βελτιστοποιώντας τη διαδικασία δημιουργίας με βάση ένα λεπτομερές γράφημα όλων των εξαρτήσεων. Η παρουσία αρχικών δεδομένων σχετικά με τη δομή και τις εξαρτήσεις στο έργο σας επιτρέπει να παραλληλίσετε αποτελεσματικά την εκτέλεση λειτουργιών σε πολλά νήματα. Για μεγάλα έργα που αποτελούνται από μεγάλο αριθμό αρχείων και υποκαταλόγων, η απόδοση των ανακατασκευών που χρησιμοποιούν Qbs μπορεί να ξεπεράσει την απόδοση αρκετές φορές - η αναδόμηση είναι σχεδόν στιγμιαία και δεν κάνει τον προγραμματιστή να αφιερώνει χρόνο σε αναμονή.
Να θυμίσουμε ότι το 2018 η Qt Company ήταν απόφαση να σταματήσει η ανάπτυξη του Qbs. Το Qbs αναπτύχθηκε ως αντικατάσταση του qmake, αλλά τελικά αποφασίστηκε να χρησιμοποιηθεί το CMake ως το κύριο σύστημα κατασκευής για το Qt μακροπρόθεσμα. Η ανάπτυξη του Qbs συνεχίστηκε πλέον ως ανεξάρτητο έργο που υποστηρίζεται από την κοινότητα και τους ενδιαφερόμενους προγραμματιστές. Η υποδομή της εταιρείας Qt συνεχίζει να χρησιμοποιείται για ανάπτυξη.
Ο κύριος Qbs 1.17:
- Προστέθηκε αρχική υποστήριξη .
- Προστέθηκε μονάδα capnp για χρήση πρωτοκόλλου σειριοποίησης δεδομένων σε εφαρμογές C++.
- τη δυνατότητα καθορισμού μεταβλητών προϊόντος και έργου στη δεξιά πλευρά των ορισμών ιδιοτήτων moduleProvider (π.χ. "moduleProviders.mygenerator.chooseLettersFrom:project.beginning").
- Προστέθηκε υποστήριξη για την κατασκευή έργων C/C++ σε υλικό γυμνού μετάλλου (με την παράμετρο qbs.targetPlatform ρυθμισμένη σε "none"): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) και
GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa). - Добавлена поддержка среды разработки Xcode 12.0 для macOS.
- Проведена чистка модулей «Qt for Android».
- Βελτιωμένη υποστήριξη κατασκευής για την πλατφόρμα Android. В модуль Android.sdk добавлено свойство packageType для создания пакетов «aab» (Android App Bundles) вместо «apk», а также свойство aaptName для использования нового aapt2 (Android Asset Packaging Tool). Прекращена поддержка сборки Android-приложений для платформ ARMv5, MIPS и MIPS64.
Πηγή: opennet.ru
