Sgaoileadh siostaman togail CMake 3.21 agus Meson 0.59

Air a thaisbeanadh tha an gineadair sgriobt togail fosgailte tar-àrd-ùrlar CMake 3.21 a leigeil ma sgaoil, a tha ag obair mar roghainn eile an àite Autotools agus a tha air a chleachdadh ann am pròiseactan leithid KDE, LLVM / Clang, MySQL, MariaDB, ReactOS agus Blender. Tha an còd CMake sgrìobhte ann an C ++ agus air a chuairteachadh fo chead BSD.

Tha CMake ainmeil airson a bhith a’ toirt seachad cànan sgrìobhaidh sìmplidh, dòigh air comas-gnìomh a leudachadh tro mhodalan, àireamh as lugha de eisimeileachd (gun cheangal ri M4, Perl no Python), taic tasgadan, làthaireachd innealan airson tar-chruinneachadh, taic airson togail a ghineadh. faidhlichean airson raon farsaing de shiostaman togail agus luchd-cruinneachaidh, an làthaireachd ctest agus goireasan cpack airson sgriobtaichean deuchainn agus pasganan togail a mhìneachadh, goireas cmake-gui airson suidheachadh eadar-ghnìomhach paramadairean togail.

Prìomh leasachaidhean:

  • Добавлена полноценная поддержка языка программирования HIP (Heterogeneous-Computing Interface for Portability), диалекта языка 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 Features), добавлена поддержка спецификаций C17 и C23.
  • В утилиту cmake добавлена опция «—toolchain <path/to/file>> для определения пути к инструментарию.
  • Обеспечена подсветка типов сообщений, выводимых на терминал.
  • Добавлена поддержка компилятора 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 можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов.

Prìomh innleachdan Meson 0.59:

  • Добавлена поддержка языка Cython (расширенный вариант Python, нацеленный на упрощение интеграции с кодом на языке Си).
  • Добавлены ключевые слова «unescaped_variables» и «unescaped_uninstalled_variables» для определения переменных в pkgconfig без экранирования пробелов символом «\».
  • Добавлена поддержка wrc (Wine Resource Compiler).
  • Реализована возможность генерации проектов для Visual Studio 2012 и Visual Studio 2013.
  • Все команды, связанные с обработкой субпроектов, теперь по умолчанию запускают каждый субпроект параллельно. Число параллельно работающих процессов определяется параметром «—num-processes».

Source: fosgailtenet.ru

Cuir beachd ann