The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Доступны системы сборки CMake 3.27.0 и Meson 1.2, opennews (??), 23-Июл-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (1), 23-Июл-23, 10:08 
Какие достоинства и недостатки у этой пары?
Ответить | Правка | Наверх | Cообщить модератору

2. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +1 +/
Сообщение от Аноним (2), 23-Июл-23, 10:26 
Начнем с того, что это взаимоисключающие инструменты.
Ответить | Правка | Наверх | Cообщить модератору

4. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +1 +/
Сообщение от llolik (ok), 23-Июл-23, 10:50 
Не совсем. Как минимум у Meson есть модуль-транслятор CMake ( https://mesonbuild.com/CMake-module.html ), который позволяет выполнять сборку CMake подпроектов прямо из Meson (в идеале, даже не меняя ничего в исходном скрипте CMake-а) и разрешать зависимости с помощью cmake-а.
Ответить | Правка | Наверх | Cообщить модератору

3. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +1 +/
Сообщение от Аноним (3), 23-Июл-23, 10:40 
Первое -- перегруженное легаси с нарушениями совместимости из-за чего сборочные скрипты постоянно отваливаются и пойди разберись из-за чего, сомнительным синтаксисом и документацией, вызывающей определённые вопросы. Второе впихнёт в тебя весь гномовский кал и простым исправлением сборочного скрипта, как с autotools, тут не обойдёшься, но лучше ничего не придумали.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

9. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +2 +/
Сообщение от anon223516234 (?), 23-Июл-23, 11:39 
Понимаю твои страдания, связанные с несовместимостью и сложностью синтаксиса в cmake. Однако, мне довольно сложно сопереживать твоему опыту, так как мои собственные взаимодействия с этим инструментом не вызывали таких проблем. Возможно, это связано с разными подходами к использованию cmake или различиями в наших проектах. Несмотря на все трудности, всё-таки cmake остаётся одним из самых мощных и гибких инструментов для сборки проектов.
Ответить | Правка | Наверх | Cообщить модератору

14. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (3), 23-Июл-23, 12:35 
Сколько у тебя того опыта? В этом всё дело. Через несколько лет забвения сборочные скрипты тупо разваливаются.
Ответить | Правка | Наверх | Cообщить модератору

16. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от anon223516234 (?), 23-Июл-23, 13:06 
как и все остальное в it.
либо адаптируется, либо отправляется в архив - третьего не дано
Ответить | Правка | Наверх | Cообщить модератору

38. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (38), 24-Июл-23, 14:50 
Скоро будет 5 лет проекту на Meson кодовая база ~100_000 строк,
но только патчи и правки. В остальном не трогает никто.
Ответить | Правка | Наверх | Cообщить модератору

17. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +1 +/
Сообщение от Rezzet (??), 23-Июл-23, 13:27 
Через несколько лет почти любой код разваливается, если его не трогать, библиотеки обновляются, интерфейсы меняются, код перестает собираться. Мы в шутку называем это периодом полураспада кода. Cmake редкостная дрянь, но ничего лучше на данный момент нету. Autotool может быть и хорош для сборки, но сборка это одна из из функций которые нужны. Система сборки это инструмент разработчика. Идея о том что пользователи будут устанавливать пакеты из исходников - это утопия. Смысла она особого не несет. А вот проблемы разработчиков Cmake решает гораздо лучше Autotool. Как минимум тем что есть интеграция в среды разработки. Интеграция в пакетные менеджеры: vcpkg и прочие. Жизнь с++ разработчика с приходом Cmake стала значительно лучше. И де факто это сейчас является стандартом.
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

19. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (3), 23-Июл-23, 13:45 
В том и дело, autoreconf прогоняешь и всё собирается дальше на новой версии, как и собиралось. Есть куча проектов, десятилетиями не менявших сборочные скрипты, и у них по-прежнему всё в порядке при сборке в современных системах. Что касается зависимостей, то тот же pkg-config дохнет куда реже сомнительных скриптов. Если совместимость в библиотеке есть, то она никуда не денется, а на нет и суда нет. Но это другой уровень забот и cmake просто справляется с этим хуже.
Ответить | Правка | Наверх | Cообщить модератору

22. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +1 +/
Сообщение от Аноним (-), 23-Июл-23, 17:53 
> В том и дело, autoreconf прогоняешь и всё собирается дальше на новой версии, как и собиралось.

В этом месте автотулс педальный и правда всех делает с отрывом. Что-что а пересобрать новую программу на олдовой системе, или олдовую программу на свежей системе - обычно прокатывает.

С cmake это будет 50/50. А с мезоном - как обычно с всей питонятиной, через пару лет оно вообще уже не совместимо с собой. А система конфигурации/сборки это оно. И не должно становиться источником проблем хуже чем собираемый, блин, код и требовать постоянного внимания. Потому что тогда получается что хвост виляет собакой.

Ответить | Правка | Наверх | Cообщить модератору

39. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Rezzet (??), 25-Июл-23, 02:20 
Вы по прежнему не поняли смысл. Взять и собрать приложение это одна задача. СОВСЕМ другая задача это разрабатывать приложение, именно обеспечивать сборку для процесса разработки. CMake это не система сборки. Это генератор проектов, это система описания проекта для разработчика, не для конечного потребителя. В процессе разработки возникает все время вопрос как сделать так что бы с твоей пачкой исходников люди могли работать на разных системах и в разных IDE для разработки. Именно разработчики, пользователи в этой схеме вообще отсутствуют. К ним прилетит готовый бинарь. Собирать приложение из исходников надо 3-ем красноглазым з@дротом на планете. Для установки и менеджмента приложений давно придумали пакетные менеджеры. А разрабатывать приложение нужно армии программистов, которые порой работают не только с c++. Cmake это не система сборки, это генератор проектов, или система описания проекта. Даже автор новости не понимает зачем и что нужно. Именно поэтому Cmake будет жить и развиваться. А аутотул сдохнет как система сама в себе которая непонятно зачем существует.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

41. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (3), 25-Июл-23, 08:05 
Не выдумывай, я говорил именно про разработку. Но сборка это часть процесса разработки.
Ответить | Правка | Наверх | Cообщить модератору

28. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  –5 +/
Сообщение от Аноньимъ (ok), 23-Июл-23, 21:04 
>Жизнь с++ разработчика с приходом Cmake стала значительно лучше.

А насколько бы она стала лучше с уходом С++...

Не перестаю поражаться тому хроническому ужасу из соплей костылей и палок который терроризирует мир айти по вине сишников.

Это же нужно было так фундаментально испортить всё вообще.

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

29. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (29), 23-Июл-23, 21:33 
> Не перестаю поражаться тому хроническому ужасу из соплей костылей и палок который терроризирует мир айти

Справедливости ради, это существует в основном в коммерческой разработке.
Когда на пятки наступают конкуренты, то либо работаешь с тем, что есть, либо твой бизнес вымирает от траты временни и денег на улучшения, которые не принесли конкурентных преимуществ.

Ответить | Правка | Наверх | Cообщить модератору

30. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  –1 +/
Сообщение от Аноньимъ (ok), 23-Июл-23, 22:03 
С/C++ сильно усложняет разработку, делая её не просто дорогой но и недоступной для небольших бюджетов.

При этом С++ активно продвигал конкретно майкрософт.
То что гемдев в массе это виндовс + С++ как бы не совпадение.

Сишка уж очень выглядит как саботаж индустрии.

Ответить | Правка | Наверх | Cообщить модератору

13. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +1 +/
Сообщение от Аноним (29), 23-Июл-23, 12:07 
> autotools
> лучше ничего не придумали.

Только вот оно прибито гвоздями к unix-окружению. А сабжы пытаются быть кросс-платформенными.

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

23. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +1 +/
Сообщение от Аноним (-), 23-Июл-23, 17:55 
> Только вот оно прибито гвоздями к unix-окружению. А сабжы пытаются быть кросс-платформенными.

Только это окружение можно и в винде вкатить. И если на то пошло автотулс работает в большем числе всяких странных окружений чем вон те вместе взятые. Уж мезон вообще настолько "кроссовый" что кроме винды линя и мака на целых полутора архитектурах - по сути ничего и не умеет. И уж не ему про кроссовость вещать.

Ответить | Правка | Наверх | Cообщить модератору

27. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +1 +/
Сообщение от Аноним (29), 23-Июл-23, 20:02 
> Только это окружение можно и в винде вкатить.

А поддержку MSVC в автотулз тоже вкатишь?

Ответить | Правка | Наверх | Cообщить модератору

5. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (5), 23-Июл-23, 11:09 
> Какие достоинства и недостатки у этой пары?

обычные болгеносы - в ядре Linux по прежнему make

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

8. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (8), 23-Июл-23, 11:36 
Что не является преимуществом ни ядра, ни мейка.
Ответить | Правка | Наверх | Cообщить модератору

12. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (5), 23-Июл-23, 11:59 
> Что не является преимуществом ни ядра, ни мейка.

Linux использует 100% населения земли поэтому он нужен как воздух а с ним и make, а кому нужен cmake и meson кроме пары широкоизвестных в узких кругах проектов? "лучше гор могут быть только горы"

Ответить | Правка | Наверх | Cообщить модератору

18. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  –1 +/
Сообщение от Rezzet (??), 23-Июл-23, 13:34 
Не понимаешь смысла и назначения Cmake и Make. Cmake это в первую очередь инструмент разработчика. Как Autolool решит проблему работы в Visual Studio, XCode, Clion и QtCretor под Win, Mac, Linux одновременно команды разработчиков? А это реальность в которой живу уже который проект подряд.
Ответить | Правка | Наверх | Cообщить модератору

20. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +1 +/
Сообщение от Аноним (5), 23-Июл-23, 14:26 
> Как Autolool решит проблему работы в Visual Studio, XCode, Clion и QtCretor под Win, Mac, Linux одновременно команды разработчиков?

для сборки Linux не нужен Autotool - как же работают над ним одновременно сотни тысяч разработчиков по всему миру?

Ответить | Правка | Наверх | Cообщить модератору

33. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от llolik (ok), 24-Июл-23, 10:50 
> для сборки Linux не нужен Autotool

Потому что у них есть собственный Kconfig/Kbuild.

Ответить | Правка | Наверх | Cообщить модератору

34. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (34), 24-Июл-23, 11:26 
> Потому что у них есть собственный Kconfig/Kbuild.

он конфигурирует само ядро а не собирает информацию о системном окружении - ядро самодостаточный проект, в отличие от болгеносов где на каждый чих тащат внешние библиотеки

Ответить | Правка | Наверх | Cообщить модератору

35. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от llolik (ok), 24-Июл-23, 11:50 
>> Потому что у них есть собственный Kconfig/Kbuild.
> он конфигурирует само ядро а не собирает информацию о системном окружении

Так и autotools/cmake/meson нужны для того, чтобы конфигурировать сборку проекта под конкретное окружение. Соответственно и данные об этом окружении надо собрать (для ядра конкретно этого не надо, тут согласен).

Ответить | Правка | Наверх | Cообщить модератору

36. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от Аноним (34), 24-Июл-23, 11:56 
> Соответственно и данные об этом окружении надо собрать

для болгеносов. Если проект самодостаточный - нет, поэтому достаточно обычного make, kconfig вообще не аналог autotools/cmake/meson - он конфигурирует внутреннюю структуру проекта.

Ответить | Правка | Наверх | Cообщить модератору

24. Скрыто модератором  +/
Сообщение от Аноним (-), 23-Июл-23, 17:55 
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

15. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от llolik (ok), 23-Июл-23, 12:48 
А никого не смущает, что это замены autotools, а не make-а?
Cmake умеет работать и с make-ом напрямую. Meson исходит из того, что проще простую, как валенок, ninja (вот это, как раз, альтернатива make) собрать под нужную платформу, чем писать отдельный генератор ещё и под make https://mesonbuild.com/FAQ.html#why-is-there-not-a-make-backend
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

26. "Доступны системы сборки CMake 3.27.0 и Meson 1.2"  +/
Сообщение от archer73 (?), 23-Июл-23, 19:23 
meson проще, быстрее, неплохо документирован для начала работы. По факту, не является системой сборки. На деле высокоуровневый конфигуратор для системы сборки ninja. Позволяет очень быстро подготовить сборку своего проекта, но трудно кастомизируется, если нужно что-то нетривиальное. ИМХО наркоманское исполнение subproject. Для линковки необходимых библиотек иногда нужно долго подбирать их название, удовлетворяющее meson. Используется проектом mesa3d.
Сmake сложен для освоения, многословен, ужасная документация, однако содержит кучу возможностей для кастомизации сборки под свои потребности. По факту, сейчас является самой распространенной системой сборки (даже учебники по нему видел).
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру