Rilis sistem build CMake 3.21 dan Meson 0.59

Disajikan adalah rilis generator skrip open build lintas platform CMake 3.21, yang bertindak sebagai alternatif untuk Autotools dan digunakan dalam proyek-proyek seperti KDE, LLVM/Clang, MySQL, MariaDB, ReactOS dan Blender. Kode CMake ditulis dalam C++ dan didistribusikan di bawah lisensi BSD.

CMake terkenal karena menyediakan bahasa skrip yang sederhana, sarana untuk memperluas fungsionalitas melalui modul, jumlah dependensi yang minimal (tidak terikat pada M4, Perl atau Python), dukungan caching, kehadiran alat untuk kompilasi silang, dukungan untuk menghasilkan build file untuk berbagai sistem build dan kompiler, keberadaan utilitas ctest dan cpack untuk menentukan skrip pengujian dan paket build, utilitas cmake-gui untuk mengatur parameter build secara interaktif.

Perbaikan utama:

  • Menambahkan dukungan penuh untuk bahasa pemrograman Heterogeneous-Computing Interface for Portability (HIP), dialek bahasa C++ yang bertujuan untuk mempermudah konversi aplikasi CUDA ke kode C++ portabel.
  • Menambahkan generator skrip build untuk Visual Studio 17 2022, berdasarkan Visual Studio 2022 Pratinjau 1.1.
  • Generator skrip build Makefile dan Ninja telah menambahkan properti C_LINKER_LAUNCHER dan CXX_LINKER_LAUNCHER, yang dapat digunakan untuk meluncurkan utilitas tambahan yang meluncurkan linker, seperti penganalisis statis. Generator akan menjalankan utilitas tertentu, meneruskan nama linker dan argumennya.
  • Di properti "C_STANDARD" dan "OBJC_STANDARD", serta di alat untuk mengatur parameter kompiler (Fitur Kompilasi), dukungan untuk spesifikasi C17 dan C23 telah ditambahkan.
  • Opsi β€œβ€”toolchain” telah ditambahkan ke utilitas cmake > untuk menentukan jalur ke toolkit.
  • Jenis pesan yang ditampilkan di terminal disorot.
  • Menambahkan dukungan untuk kompiler Fujitsu.
  • Perintah "foreach()" memastikan bahwa variabel loop diisolasi dalam satu loop.

Selain itu, kami dapat mencatat rilis sistem build Meson 0.59, yang digunakan untuk membangun proyek seperti X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME, dan GTK. Kode Meson ditulis dengan Python dan dilisensikan di bawah lisensi Apache 2.0. Mendukung kompilasi dan pembangunan silang di Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS dan Windows menggunakan GCC, Clang, Visual Studio dan kompiler lainnya. Dimungkinkan untuk membangun proyek dalam berbagai bahasa pemrograman, termasuk C, C++, Fortran, Java, dan Rust. Alih-alih utilitas make, toolkit Ninja digunakan secara default saat membangun, tetapi backend lain seperti xcode dan VisualStudio juga dapat digunakan.

Sistem ini memiliki pengendali ketergantungan multi-platform bawaan yang memungkinkan Anda menggunakan Meson untuk membangun paket distribusi. Aturan perakitan ditentukan dalam bahasa khusus domain yang disederhanakan, sangat mudah dibaca dan dipahami oleh pengguna (seperti yang dimaksudkan oleh penulis, pengembang harus menghabiskan waktu minimum untuk menulis aturan). Mode build inkremental didukung, di mana hanya komponen yang terkait langsung dengan perubahan yang dibuat sejak build terakhir yang dibuat ulang. Meson dapat digunakan untuk menghasilkan build yang dapat diulang, di mana menjalankan build di lingkungan yang berbeda akan menghasilkan pembuatan file executable yang benar-benar identik.

Inovasi utama Meson 0.59:

  • Menambahkan dukungan untuk bahasa Cython (versi lanjutan dari Python yang bertujuan menyederhanakan integrasi dengan kode C).
  • Menambahkan kata kunci "unescaped_variables" dan "unescaped_uninstalled_variables" untuk mendefinisikan variabel di pkgconfig tanpa menghilangkan spasi dengan karakter "\".
  • Menambahkan dukungan untuk wrc (Wine Resource Compiler).
  • Kemampuan untuk menghasilkan proyek untuk Visual Studio 2012 dan Visual Studio 2013 telah diterapkan.
  • Semua perintah terkait subproyek sekarang menjalankan setiap subproyek secara paralel secara default. Jumlah proses paralel ditentukan oleh parameter β€œ--num-processes”.

Sumber: opennet.ru

Tambah komentar