Keluaran akhir alat binaan Qbs telah diterbitkan

Syarikat Qt ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° alatan pemasangan Qbs 1.13 (Suite Binaan Qt). Ini adalah keluaran terbaru Qbs yang dihasilkan oleh Syarikat Qt. Mari kita ingat apa yang berlaku tadi diterima keputusan untuk berhenti membangunkan Qbs. Qbs dibangunkan sebagai pengganti qmake, tetapi akhirnya ia telah memutuskan untuk menggunakan CMake sebagai sistem binaan utama untuk Qt dalam jangka masa panjang.

Dalam masa terdekat ini, dijangkakan satu projek bebas akan diwujudkan bagi meneruskan pembangunan Qbs oleh masyarakat yang nasibnya bergantung kepada minat terhadap sistem pemasangan berkenaan daripada pemaju bebas. Syarikat Qt berhenti mengusahakan Qbs kerana keperluan untuk pelaburan tambahan dan kos yang tinggi untuk mempromosikan Qbs.

Mari kita ingat bahawa untuk membina Qbs, Qt diperlukan sebagai pergantungan, walaupun Qbs sendiri direka untuk mengatur pemasangan mana-mana projek. Qbs menggunakan versi mudah bahasa QML untuk mentakrifkan skrip binaan projek, yang membolehkan anda mentakrifkan peraturan binaan yang agak fleksibel yang boleh menyambungkan modul luaran, menggunakan fungsi JavaScript dan membuat peraturan binaan tersuai.
Qbs tidak menjana fail buatan dan mengawal pelancaran penyusun dan pemaut secara bebas, mengoptimumkan proses binaan berdasarkan graf terperinci semua kebergantungan. Kehadiran data awal tentang struktur dan kebergantungan dalam projek membolehkan anda menyelaraskan pelaksanaan operasi dengan berkesan dalam beberapa utas.

Inovasi utama dalam Qbs 1.13:

  • Menambahkan keupayaan untuk menggunakan modul pkg-config dalam projek menggunakan mekanisme pemprosesan pergantungan yang sama yang digunakan untuk modul Qbs. Contohnya, jika sistem anda mempunyai pakej untuk membina OpenSSL berdasarkan pkg-config, untuk menggunakannya dalam projek Qbs, cuma tambah 'Depends { name: "openssl" }';
  • Melaksanakan pengesanan automatik modul Qt yang tersedia. Pembangun tidak perlu lagi membuat profil dengan laluan modul menggunakan arahan persediaan-qt; semua modul Qt yang dinyatakan dalam kebergantungan akan dikonfigurasikan secara automatik;
  • Alat tambahan untuk mengawal bilangan tugas pemasangan berjalan selari pada tahap arahan individu. Sebagai contoh, pemautan menghasilkan beban I/O yang besar dan menggunakan sejumlah besar RAM, jadi pemaut memerlukan tetapan permulaan yang berbeza daripada pengkompil. Tetapan berasingan kini boleh ditetapkan menggunakan arahan β€œqbs β€”job-limits linker:2,compiler:8”;
  • Perubahan telah dibuat pada bahasa skrip. Peraturan kini boleh ditakrifkan tanpa menyatakan fail rintisan untuk output, dan tidak perlu menggunakan arahan "import qbs" pada permulaan fail projek. Ciri pemasangan dan installDir baharu telah ditambahkan pada elemen Aplikasi, DynamicLibrary dan StaticLibrary untuk pemasangan fail boleh laku yang lebih mudah;
  • Menambah sokongan untuk pengimbasan rekursif skrip pemaut
    Penyambung GNU;

  • Untuk C++, sifat cpp.linkerVariant telah dilaksanakan untuk memaksa penggunaan pemaut ld.gold, ld.bfd atau lld;
  • Qt memperkenalkan sifat Qt.core.enableBigResources untuk mencipta sumber Qt yang besar
  • Daripada elemen AndroidApk yang usang, adalah dicadangkan untuk menggunakan jenis Aplikasi generik;
  • Menambah modul untuk mencipta ujian berdasarkan autotest;
  • Menambah modul texttemplate dengan keupayaan yang serupa dengan QMAKE_SUBSTITUTES dalam qmake;
  • Menambahkan sokongan awal untuk format Penampan Protokol untuk C++ dan Objektif-C.

Sumber: opennet.ru

Tambah komen