Δημοσιεύτηκε η τελική έκδοση των εργαλείων κατασκευής Qbs

Qt Company опубликовала εργαλεία συναρμολόγησης Qbs 1.13 (Qt Build Suite). Αυτή είναι η τελευταία έκδοση του Qbs που παράγεται από την Qt Company. Ας θυμηθούμε τι έγινε νωρίτερα ληφθεί απόφαση να σταματήσει η ανάπτυξη του Qbs. Το Qbs αναπτύχθηκε ως αντικατάσταση του qmake, αλλά τελικά αποφασίστηκε να χρησιμοποιηθεί το CMake ως το κύριο σύστημα κατασκευής για το Qt μακροπρόθεσμα.

Στο εγγύς μέλλον, αναμένεται να δημιουργηθεί ένα ανεξάρτητο έργο για τη συνέχιση της ανάπτυξης του Qbs από την κοινότητα, η τύχη του οποίου θα εξαρτηθεί από το ενδιαφέρον για το εν λόγω σύστημα συναρμολόγησης από ανεξάρτητους προγραμματιστές. Η Qt Company σταματά να εργάζεται σε Qbs λόγω της ανάγκης για πρόσθετες επενδύσεις και υψηλού κόστους για την προώθηση του Qbs.

Ας θυμηθούμε ότι για την κατασκευή του Qbs, το Qt απαιτείται ως εξάρτηση, αν και το ίδιο το Qbs έχει σχεδιαστεί για να οργανώνει τη συναρμολόγηση οποιωνδήποτε έργων. Το Qbs χρησιμοποιεί μια απλοποιημένη έκδοση της γλώσσας QML για να ορίσει σενάρια κατασκευής έργου, η οποία σας επιτρέπει να ορίσετε αρκετά ευέλικτους κανόνες κατασκευής που μπορούν να συνδέουν εξωτερικές μονάδες, να χρησιμοποιούν συναρτήσεις JavaScript και να δημιουργούν προσαρμοσμένους κανόνες κατασκευής.
Το Qbs δεν δημιουργεί makefiles και ελέγχει ανεξάρτητα την εκκίνηση μεταγλωττιστών και συνδέσμων, βελτιστοποιώντας τη διαδικασία δημιουργίας με βάση ένα λεπτομερές γράφημα όλων των εξαρτήσεων. Η παρουσία αρχικών δεδομένων σχετικά με τη δομή και τις εξαρτήσεις στο έργο σας επιτρέπει να παραλληλίσετε αποτελεσματικά την εκτέλεση λειτουργιών σε πολλά νήματα.

Βασικές καινοτομίες στο Qbs 1.13:

  • Προστέθηκε η δυνατότητα χρήσης μονάδων pkg-config σε έργα που χρησιμοποιούν τον ίδιο μηχανισμό επεξεργασίας εξάρτησης που χρησιμοποιείται για τις μονάδες Qbs. Για παράδειγμα, εάν το σύστημά σας έχει ένα πακέτο για τη δημιουργία OpenSSL με βάση το pkg-config, για να το χρησιμοποιήσετε σε ένα έργο Qbs, απλώς προσθέστε το 'Depends { name: "openssl" }';
  • Εφαρμόστηκε αυτόματη ανίχνευση διαθέσιμων μονάδων Qt. Οι προγραμματιστές δεν χρειάζεται πλέον να δημιουργούν προφίλ με διαδρομές λειτουργιών χρησιμοποιώντας την εντολή setup-qt· όλες οι μονάδες Qt που καθορίζονται στις εξαρτήσεις θα διαμορφωθούν αυτόματα.
  • Προστέθηκαν εργαλεία για τον έλεγχο του αριθμού των εργασιών συναρμολόγησης που εκτελούνται παράλληλα σε επίπεδο μεμονωμένων εντολών. Για παράδειγμα, η σύνδεση δημιουργεί ένα μεγάλο φορτίο I/O και καταναλώνει σημαντική ποσότητα μνήμης RAM, επομένως ο σύνδεσμος απαιτεί διαφορετικές ρυθμίσεις εκκίνησης από τον μεταγλωττιστή. Μπορείτε τώρα να ορίσετε ξεχωριστές ρυθμίσεις χρησιμοποιώντας την εντολή "qbs —job-limits linker:2,compiler:8".
  • Έχουν γίνει αλλαγές στη γλώσσα σεναρίου. Οι κανόνες μπορούν τώρα να οριστούν χωρίς να προσδιορίζεται ένα αρχείο stub για έξοδο και δεν είναι απαραίτητο να χρησιμοποιήσετε την οδηγία "εισαγωγή qbs" στην αρχή των αρχείων έργου. Νέες ιδιότητες install και installDir έχουν προστεθεί στα στοιχεία Application, DynamicLibrary και StaticLibrary για πιο εύκολη εγκατάσταση εκτελέσιμων αρχείων.
  • Προστέθηκε υποστήριξη για αναδρομική σάρωση σεναρίων σύνδεσης
    Σύνδεση GNU.

  • Για τη C++, η ιδιότητα cpp.linkerVariant έχει εφαρμοστεί για να εξαναγκάσει τη χρήση των συνδέσμων ld.gold, ld.bfd ή lld.
  • Το Qt εισάγει την ιδιότητα Qt.core.enableBigResources για τη δημιουργία μεγάλων πόρων Qt
  • Αντί για το απαρχαιωμένο στοιχείο AndroidApk, προτείνεται να χρησιμοποιηθεί ο γενικός τύπος εφαρμογής.
  • Προστέθηκε μια ενότητα για τη δημιουργία δοκιμών με βάση την αυτόματη δοκιμή.
  • Προστέθηκε μονάδα προτύπου κειμένου με δυνατότητες παρόμοιες με το QMAKE_SUBSTITUTES στο qmake.
  • Προστέθηκε αρχική υποστήριξη για τη μορφή Protocol Buffers για C++ και Objective-C.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο