Нашри системаҳои сохтани CMake 3.21 ва Meson 0.59

Нашри генератори скрипти кроссплатформаи кушодаи CMake 3.21 пешниҳод карда мешавад, ки ҳамчун алтернатива ба Autotools амал мекунад ва дар лоиҳаҳое ба монанди KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ва Blender истифода мешавад. Рамзи CMake дар C++ навишта шудааст ва таҳти иҷозатномаи BSD паҳн карда мешавад.

CMake бо пешниҳоди забони оддии скрипт, воситаи васеъ кардани функсияҳо тавассути модулҳо, шумораи ҳадди ақали вобастагӣ (ҳатмӣ ба M4, Perl ё Python), дастгирии кэш, мавҷудияти абзорҳо барои компилясияи байнисоҳавӣ, дастгирии тавлиди сохтмон намоён аст. файлҳо барои доираи васеи системаҳо ва компиляторҳо, мавҷудияти utilities ctest ва cpack барои муайян кардани скриптҳои санҷишӣ ва бастаҳои сохтмон, утилитаи cmake-gui барои ба таври интерактивӣ танзим кардани параметрҳои сохтмон.

Такмилҳои асосӣ:

  • Илова дастгирии пурраи интерфейси гетерогенӣ-компютерӣ барои забони барномасозӣ (HIP), як лаҳҷаи забони C++, ки барои осон кардани табдил додани замимаҳои CUDA ба рамзи сайёри C++ равона шудааст.
  • Илова генератори сохтани скрипт барои Visual Studio 17 2022, дар асоси Visual Studio 2022 Preview 1.1.
  • Генераторҳои скрипти сохтани Makefile ва Ninja хосиятҳои C_LINKER_LAUNCHER ва CXX_LINKER_LAUNCHER-ро илова кардаанд, ки онҳоро метавон барои оғоз кардани утилитаҳои ёрирасоне, ки пайвандкунандаро оғоз мекунанд, ба мисли анализаторҳои статикӣ истифода бурдан мумкин аст. Генератор утилитаҳои муайяншударо иҷро карда, ба онҳо номи пайвандкунанда ва далелҳои онро интиқол медиҳад.
  • Дар хосиятҳои "C_STANDARD" ва "OBJC_STANDARD", инчунин дар асбобҳо барои танзими параметрҳои компилятор (Хусусиятҳои Compile), дастгирии мушаххасоти C17 ва C23 илова карда шудааст.
  • Варианти "—toolchain" ба утилитаи cmake илова карда шудааст > барои муайян кардани рох ба суи асбобхо.
  • Намудҳои паёмҳое, ки дар терминал нишон дода мешаванд, таъкид карда мешаванд.
  • Дастгирии иловашуда барои компилятори Fujitsu.
  • Фармони "foreach()" кафолат медиҳад, ки тағирёбандаҳои давр дар дохили давр ҷудо карда мешаванд.

Илова бар ин, мо метавонем нашри системаи сохтани Meson 0.59-ро қайд кунем, ки он барои сохтани лоиҳаҳо ба монанди X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ва GTK истифода мешавад. Рамзи Meson дар Python навишта шудааст ва таҳти иҷозатномаи Apache 2.0 иҷозатнома дорад. Ҷамъоварии байнисоҳавӣ ва сохтмонро дар Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ва Windows бо истифода аз GCC, Clang, Visual Studio ва дигар компиляторҳо дастгирӣ мекунад. Лоиҳаҳоро бо забонҳои гуногуни барномасозӣ, аз ҷумла C, C++, Fortran, Java ва Rust сохтан мумкин аст. Ба ҷои утилитаи make, асбоби Ninja ҳангоми сохтан ба таври нобаёнӣ истифода мешавад, аммо дигар пуштибонҳо ба монанди xcode ва VisualStudio низ метавонанд истифода шаванд.

Система дорои коркарди вобастагии бисёрплатформаи дарунсохт мебошад, ки ба шумо имкон медиҳад Meson-ро барои сохтани бастаҳо барои тақсимот истифода баред. Қоидаҳои ассамблея бо забони соддакардашудаи мушаххаси домен нишон дода шудаанд, барои корбар хеле хондан ва фаҳмо мебошанд (тавре ки муаллифон пешбинӣ кардаанд, таҳиякунанда бояд ҳадди аққал вақти навиштани қоидаҳои навиштанро сарф кунад). Ҳолати афзояндаи сохтмон дастгирӣ карда мешавад, ки дар он танҳо ҷузъҳои мустақим бо тағиротҳои аз замони охирин сохташуда аз нав барқарор карда мешаванд. Месонро барои тавлиди сохторҳои такроршаванда истифода бурдан мумкин аст, ки дар он кор кардани сохтмон дар муҳитҳои гуногун боиси тавлиди файлҳои иҷрошавандаи комилан якхела мегардад.

Навовариҳои асосии Meson 0.59:

  • Дастгирии иловашуда барои забони Cython (версияи пешрафтаи Python, ки ба содда кардани ҳамгироӣ бо рамзи C нигаронида шудааст).
  • Калидвожаҳои "unescaped_variables" ва "unescaped_uninstalled_variables" илова карда шуданд, то тағирёбандаҳоро дар pkgconfig бидуни фирор аз фосила бо аломати "\" муайян кунанд.
  • Дастгирии иловашуда барои wrc (Compiler Resource Wine).
  • Имконияти тавлиди лоиҳаҳо барои Visual Studio 2012 ва Visual Studio 2013 амалӣ карда шуд.
  • Ҳама фармонҳои марбут ба зерлоиҳа ҳоло ҳар як зерлоиҳаро дар баробари пешфарз иҷро мекунанд. Шумораи равандҳои параллелӣ бо параметри "--num-processes" муайян карда мешавад.

Манбаъ: opennet.ru

Илова Эзоҳ