CMake 3.21 va Meson 0.59 qurish tizimlarining chiqarilishi

CMake 3.21 kross-platformali ochiq qurish skript generatorining chiqarilishi taqdim etiladi, u Autotools-ga muqobil bo'lib ishlaydi va KDE, LLVM/Clang, MySQL, MariaDB, ReactOS va Blender kabi loyihalarda qo'llaniladi. CMake kodi C++ da yozilgan va BSD litsenziyasi ostida tarqatiladi.

CMake oddiy skript tilini, modullar orqali funksionallikni kengaytirish vositasini, minimal miqdordagi bog'liqlikni (M4, Perl yoki Python bilan bog'lanmaydi), keshlashni qo'llab-quvvatlashni, o'zaro kompilyatsiya qilish vositalarining mavjudligini, qurilishni yaratishni qo'llab-quvvatlashi bilan ajralib turadi. keng assortimentdagi qurish tizimlari va kompilyatorlari uchun fayllar, test skriptlari va qurish paketlarini aniqlash uchun ctest va cpack yordam dasturlari, qurish parametrlarini interaktiv sozlash uchun cmake-gui yordam dasturi.

Asosiy yaxshilanishlar:

  • CUDA ilovalarini portativ C++ kodiga aylantirishni osonlashtirishga qaratilgan C++ tilining dialekti bo‘lgan Heterogen-Computing Interface for Portability (HIP) dasturlash tiliga to‘liq yordam qo‘shildi.
  • Visual Studio 17 2022 uchun Visual Studio 2022 Preview 1.1 asosida tuzilgan skript generatori qo‘shildi.
  • Makefile va Ninja qurish skript generatorlari C_LINKER_LAUNCHER va CXX_LINKER_LAUNCHER xususiyatlarini qo'shdi, ular statik analizatorlar kabi bog'lovchini ishga tushiradigan yordamchi yordamchi dasturlarni ishga tushirish uchun ishlatilishi mumkin. Generator ko'rsatilgan yordamchi dasturlarni ishga tushiradi va ularga bog'lovchi nomini va uning argumentlarini uzatadi.
  • “C_STANDARD” va “OBJC_STANDARD” xossalarida, shuningdek kompilyator parametrlarini o‘rnatish vositalarida (Compile Features) C17 va C23 spetsifikatsiyalarini qo‘llab-quvvatlash qo‘shilgan.
  • Cmake yordam dasturiga "-toolchain" opsiyasi qo'shildi > asboblar to'plamiga yo'lni aniqlash uchun.
  • Terminalda ko'rsatilgan xabarlar turlari ta'kidlangan.
  • Fujitsu kompilyatori uchun qo'shimcha yordam.
  • "Foreach()" buyrug'i tsikl o'zgaruvchilari tsikl ichida izolyatsiya qilinishini ta'minlaydi.

Bundan tashqari, X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME va GTK kabi loyihalarni yaratish uchun foydalaniladigan Meson 0.59 qurish tizimining chiqarilishini qayd etishimiz mumkin. Meson kodi Python-da yozilgan va Apache 2.0 litsenziyasi ostida litsenziyalangan. GCC, Clang, Visual Studio va boshqa kompilyatorlar yordamida Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS va Windows tizimlarida oʻzaro kompilyatsiya va qurishni qoʻllab-quvvatlaydi. C, C++, Fortran, Java va Rust kabi turli xil dasturlash tillarida loyihalar yaratish mumkin. Qurilishda make yordam dasturi o'rniga Ninja asboblar to'plami sukut bo'yicha ishlatiladi, ammo xcode va VisualStudio kabi boshqa backendlardan ham foydalanish mumkin.

Tizimda o'rnatilgan ko'p platformali qaramlik ishlovchisi mavjud bo'lib, u Meson-dan tarqatish uchun paketlar yaratish uchun foydalanish imkonini beradi. Yig'ish qoidalari soddalashtirilgan domenga xos tilda ko'rsatilgan, foydalanuvchi uchun juda o'qilishi mumkin va tushunarli (mualliflar nazarda tutganidek, ishlab chiquvchi qoidalarni yozish uchun minimal vaqt sarflashi kerak). Qo'shimcha qurish rejimi qo'llab-quvvatlanadi, unda faqat oxirgi tuzilishdan keyin kiritilgan o'zgarishlarga bevosita bog'liq bo'lgan komponentlar qayta tiklanadi. Meson takrorlanadigan tuzilmalarni yaratish uchun ishlatilishi mumkin, bunda qurilishni turli muhitlarda ishga tushirish butunlay bir xil bajariladigan fayllarni yaratishga olib keladi.

Meson 0.59 ning asosiy yangiliklari:

  • Cython tilini qo'llab-quvvatlash qo'shildi (Pythonning C kodi bilan integratsiyani soddalashtirishga qaratilgan ilg'or versiyasi).
  • Pkgconfig-da o'zgaruvchilarni "\" belgisi bilan bo'sh joy qoldirmasdan aniqlash uchun "unescaped_variables" va "unescaped_uninstalled_variables" kalit so'zlari qo'shildi.
  • Wrc (Wine Resource Compiler) uchun qo'shimcha yordam.
  • Visual Studio 2012 va Visual Studio 2013 uchun loyihalar yaratish imkoniyati amalga oshirildi.
  • Kichik loyihani qayta ishlash bilan bog'liq barcha buyruqlar endi sukut bo'yicha har bir kichik loyihani parallel ravishda boshqaradi. Parallel jarayonlar soni “--num-processes” parametri bilan aniqlanadi.

Manba: opennet.ru

a Izoh qo'shish