Доступны системы сборки CMake 3.27.0 и Meson 1.2
Автор
Сообщение
news_bot ®
Стаж: 6 лет 11 месяцев
Сообщений: 27286
Опубликован релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.27, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки. Код CMake написан на языке C++ и распространяется под лицензией BSD.
Основные улучшения:
- В утилиту cmake встроен интерактивный отладчик для языка сценариев, вызываемый при указании опции "--debugger".
- Реализовано свойство "SKIP_LINTING", позволяющее отключить проверку кода для определённых исходных файлов.
- Для генераторов добавлен флаг "COMPILE_ONLY", при котором выполняется только компиляция без динамического связывания.
- В генераторы сборочных сценариев для Visual Studio 2015 и более новых версий в переменную CMAKE_GENERATOR_PLATFORM добавлена поддержка поля "version=" для выбора верcии Windows SDK.
- Для разделяемых библиотек, собираемых для платформы macOS, реализована возможность создания tbd-файлов (Text-Based Definition) с данными о библиотеке.
- Объявлены устаревшими и будут удалены в одном из следующих выпусков компоненты для обеспечения совместимости с версиям CMake старше 3.5.
- Удалён модуль FindCUDA, который был объявлен устаревшим в выпуске CMake 3.10. Проекты, завязанные на FindCUDA, рекомендовано перевести на встроенные в CMake средства для поддержки CUDA.
- Удалены модули FindPythonInterp и FindPythonLibs, объявленные устаревшими в выпуске CMake 3.12. Вместо них следует использовать модули FindPython3, FindPython2 или FindPython.
- При выполнении команды "cmake --build $dir --verbose" обеспечен вывод рабочего каталога и опций командной строки, используемых для сборки.
Дополнительно можно отметить выпуск сборочной системы Meson 1.2.0, которая используется для сборки таких проектов, как 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 можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов.
Основные новшества Meson 1.2:
- Добавлена поддержка инструментариев Metrowerks Embedded для архитектур PowerPC и ARM.
- Добавлен метод str.splitlines() для разделения строки на массив из строк.
- Добавлена поддержка вложенного вызова генераторов, например, "gen2.process(gen1.process('input.txt'))".
- В блок declare_dependency реализована поддержка ключевого слова extra_files для добавления дополнительных файлов к сборочной цели.
- В команду "meson setup" добавлена опция '--genvslite' для упрощения переключения между сборочными конфигурациями для среды Visual Studio.
- В gnome.generate_gir() добавлена поддержка аргумента env для установки переменных окружения.
- Расширены сохраняемые для инроспекции данные: в intro-compilers.json перечислены используемые компиляторы, в intro-machines.json добавлена информация о хостовой, сборочной и целевой системах, в
intro-dependencies.json отражены сведения о внутренних зависимостях, в intro-targets.json указаны зависимости, vs_module_defs, win_subsystem и параметры компоновщика.
- В дополнение к свойству system добавлены свойства kernel и subsystem для более точной идентификации системы.
- Разрешено использование словарей для опций default_options и override_options (например, можно указывать "default_options : {'key': 'value'}" вместо "default_options : ['key=value']").
- Добавлены параметры rust.bindgen и bindgen_clang_arguments для передачи дополнительных аргументов компиляторам rustc и clang.
- Разрешено использование маски для выбора выполняемых тестов, например, для запуска тестов, начинающихся на слово basic, можно указать "meson test basic*".
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.kitware.com/cmake-...)
- OpenNews: Выпуск сборочной системы Meson 1.1
- OpenNews: Выпуск системы сборки GNU Make 4.4
- OpenNews: Сбои в системах сборки из-за изменения контрольных сумм архивов в GitHub
- OpenNews: Facebook опубликовал систему сборки Buck2
- OpenNews: Релиз системы сборки CMake 3.23
Похожие новости:
- Выпуск сборочного инструментария Qbs 2.0
- Выпуск сборочной системы Meson 1.1
- Facebook опубликовал систему сборки Buck2
- Выпуск сборочной системы Meson 1.0
- Релиз мета-дистрибутива T2 SDE 22.6
- Релиз системы сборки CMake 3.23
- Выпуск сборочного инструментария Qbs 1.21 и начало тестирования Qt 6.3
- Релиз системы сборки CMake 3.22
- Выпуск сборочного инструментария Qbs 1.20
- Релиз систем сборки CMake 3.21 и Meson 0.59
Теги для поиска: #_cmake, #_meson, #_build
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Фев 06:00
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 11 месяцев |
|
Опубликован релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.27, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. CMake примечателен предоставлением простого языка сценариев, средствами расширения функциональности через модули, поддержкой кэширования, наличием инструментов для кросс-компиляции, поддержкой генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличием утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилитой cmake-gui для интерактивной настройки параметров сборки. Код CMake написан на языке C++ и распространяется под лицензией BSD. Основные улучшения:
Дополнительно можно отметить выпуск сборочной системы Meson 1.2.0, которая используется для сборки таких проектов, как 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 можно использовать для формирования повторяемых сборок, при которых запуск сборки в разных окружениях приводит к генерации полностью идентичных исполняемых файлов. Основные новшества Meson 1.2:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Фев 06:00
Часовой пояс: UTC + 5