|
|
3.4, llolik (ok), 10:50, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не совсем. Как минимум у Meson есть модуль-транслятор CMake ( https://mesonbuild.com/CMake-module.html ), который позволяет выполнять сборку CMake подпроектов прямо из Meson (в идеале, даже не меняя ничего в исходном скрипте CMake-а) и разрешать зависимости с помощью cmake-а.
| |
|
2.3, Аноним (3), 10:40, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Первое -- перегруженное легаси с нарушениями совместимости из-за чего сборочные скрипты постоянно отваливаются и пойди разберись из-за чего, сомнительным синтаксисом и документацией, вызывающей определённые вопросы. Второе впихнёт в тебя весь гномовский кал и простым исправлением сборочного скрипта, как с autotools, тут не обойдёшься, но лучше ничего не придумали.
| |
|
3.9, anon223516234 (?), 11:39, 23/07/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Понимаю твои страдания, связанные с несовместимостью и сложностью синтаксиса в cmake. Однако, мне довольно сложно сопереживать твоему опыту, так как мои собственные взаимодействия с этим инструментом не вызывали таких проблем. Возможно, это связано с разными подходами к использованию cmake или различиями в наших проектах. Несмотря на все трудности, всё-таки cmake остаётся одним из самых мощных и гибких инструментов для сборки проектов.
| |
|
4.14, Аноним (3), 12:35, 23/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Сколько у тебя того опыта? В этом всё дело. Через несколько лет забвения сборочные скрипты тупо разваливаются.
| |
|
|
6.38, Аноним (38), 14:50, 24/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Скоро будет 5 лет проекту на Meson кодовая база ~100_000 строк,
но только патчи и правки. В остальном не трогает никто.
| |
|
5.17, Rezzet (??), 13:27, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Через несколько лет почти любой код разваливается, если его не трогать, библиотеки обновляются, интерфейсы меняются, код перестает собираться. Мы в шутку называем это периодом полураспада кода. Cmake редкостная дрянь, но ничего лучше на данный момент нету. Autotool может быть и хорош для сборки, но сборка это одна из из функций которые нужны. Система сборки это инструмент разработчика. Идея о том что пользователи будут устанавливать пакеты из исходников - это утопия. Смысла она особого не несет. А вот проблемы разработчиков Cmake решает гораздо лучше Autotool. Как минимум тем что есть интеграция в среды разработки. Интеграция в пакетные менеджеры: vcpkg и прочие. Жизнь с++ разработчика с приходом Cmake стала значительно лучше. И де факто это сейчас является стандартом.
| |
|
6.19, Аноним (3), 13:45, 23/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
В том и дело, autoreconf прогоняешь и всё собирается дальше на новой версии, как и собиралось. Есть куча проектов, десятилетиями не менявших сборочные скрипты, и у них по-прежнему всё в порядке при сборке в современных системах. Что касается зависимостей, то тот же pkg-config дохнет куда реже сомнительных скриптов. Если совместимость в библиотеке есть, то она никуда не денется, а на нет и суда нет. Но это другой уровень забот и cmake просто справляется с этим хуже.
| |
|
7.22, Аноним (-), 17:53, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В том и дело, autoreconf прогоняешь и всё собирается дальше на новой версии, как и собиралось.
В этом месте автотулс педальный и правда всех делает с отрывом. Что-что а пересобрать новую программу на олдовой системе, или олдовую программу на свежей системе - обычно прокатывает.
С cmake это будет 50/50. А с мезоном - как обычно с всей питонятиной, через пару лет оно вообще уже не совместимо с собой. А система конфигурации/сборки это оно. И не должно становиться источником проблем хуже чем собираемый, блин, код и требовать постоянного внимания. Потому что тогда получается что хвост виляет собакой.
| |
7.39, Rezzet (??), 02:20, 25/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вы по прежнему не поняли смысл. Взять и собрать приложение это одна задача. СОВСЕМ другая задача это разрабатывать приложение, именно обеспечивать сборку для процесса разработки. CMake это не система сборки. Это генератор проектов, это система описания проекта для разработчика, не для конечного потребителя. В процессе разработки возникает все время вопрос как сделать так что бы с твоей пачкой исходников люди могли работать на разных системах и в разных IDE для разработки. Именно разработчики, пользователи в этой схеме вообще отсутствуют. К ним прилетит готовый бинарь. Собирать приложение из исходников надо 3-ем красноглазым з@дротом на планете. Для установки и менеджмента приложений давно придумали пакетные менеджеры. А разрабатывать приложение нужно армии программистов, которые порой работают не только с c++. Cmake это не система сборки, это генератор проектов, или система описания проекта. Даже автор новости не понимает зачем и что нужно. Именно поэтому Cmake будет жить и развиваться. А аутотул сдохнет как система сама в себе которая непонятно зачем существует.
| |
|
8.41, Аноним (3), 08:05, 25/07/2023 [^] [^^] [^^^] [ответить] | +/– | Не выдумывай, я говорил именно про разработку Но сборка это часть процесса разр... текст свёрнут, показать | |
|
|
6.28, Аноньимъ (ok), 21:04, 23/07/2023 [^] [^^] [^^^] [ответить]
| –5 +/– |
>Жизнь с++ разработчика с приходом Cmake стала значительно лучше.
А насколько бы она стала лучше с уходом С++...
Не перестаю поражаться тому хроническому ужасу из соплей костылей и палок который терроризирует мир айти по вине сишников.
Это же нужно было так фундаментально испортить всё вообще.
| |
|
7.29, Аноним (29), 21:33, 23/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Не перестаю поражаться тому хроническому ужасу из соплей костылей и палок который терроризирует мир айти
Справедливости ради, это существует в основном в коммерческой разработке.
Когда на пятки наступают конкуренты, то либо работаешь с тем, что есть, либо твой бизнес вымирает от траты временни и денег на улучшения, которые не принесли конкурентных преимуществ.
| |
|
|
|
|
3.13, Аноним (29), 12:07, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> autotools
> лучше ничего не придумали.
Только вот оно прибито гвоздями к unix-окружению. А сабжы пытаются быть кросс-платформенными.
| |
|
4.23, Аноним (-), 17:55, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Только вот оно прибито гвоздями к unix-окружению. А сабжы пытаются быть кросс-платформенными.
Только это окружение можно и в винде вкатить. И если на то пошло автотулс работает в большем числе всяких странных окружений чем вон те вместе взятые. Уж мезон вообще настолько "кроссовый" что кроме винды линя и мака на целых полутора архитектурах - по сути ничего и не умеет. И уж не ему про кроссовость вещать.
| |
|
5.27, Аноним (29), 20:02, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Только это окружение можно и в винде вкатить.
А поддержку MSVC в автотулз тоже вкатишь?
| |
|
|
|
2.5, Аноним (5), 11:09, 23/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Какие достоинства и недостатки у этой пары?
обычные болгеносы - в ядре Linux по прежнему make
| |
|
|
4.12, Аноним (5), 11:59, 23/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Что не является преимуществом ни ядра, ни мейка.
Linux использует 100% населения земли поэтому он нужен как воздух а с ним и make, а кому нужен cmake и meson кроме пары широкоизвестных в узких кругах проектов? "лучше гор могут быть только горы"
| |
|
5.18, Rezzet (??), 13:34, 23/07/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Не понимаешь смысла и назначения Cmake и Make. Cmake это в первую очередь инструмент разработчика. Как Autolool решит проблему работы в Visual Studio, XCode, Clion и QtCretor под Win, Mac, Linux одновременно команды разработчиков? А это реальность в которой живу уже который проект подряд.
| |
|
6.20, Аноним (5), 14:26, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Как Autolool решит проблему работы в Visual Studio, XCode, Clion и QtCretor под Win, Mac, Linux одновременно команды разработчиков?
для сборки Linux не нужен Autotool - как же работают над ним одновременно сотни тысяч разработчиков по всему миру?
| |
|
7.33, llolik (ok), 10:50, 24/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> для сборки Linux не нужен Autotool
Потому что у них есть собственный Kconfig/Kbuild.
| |
|
8.34, Аноним (34), 11:26, 24/07/2023 [^] [^^] [^^^] [ответить] | +/– | он конфигурирует само ядро а не собирает информацию о системном окружении - ядро... текст свёрнут, показать | |
|
9.35, llolik (ok), 11:50, 24/07/2023 [^] [^^] [^^^] [ответить] | +/– | Так и autotools cmake meson нужны для того, чтобы конфигурировать сборку проекта... текст свёрнут, показать | |
|
|
|
|
|
4.15, llolik (ok), 12:48, 23/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
А никого не смущает, что это замены autotools, а не make-а?
Cmake умеет работать и с make-ом напрямую. Meson исходит из того, что проще простую, как валенок, ninja (вот это, как раз, альтернатива make) собрать под нужную платформу, чем писать отдельный генератор ещё и под make https://mesonbuild.com/FAQ.html#why-is-there-not-a-make-backend
| |
|
|
2.26, archer73 (?), 19:23, 23/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
meson проще, быстрее, неплохо документирован для начала работы. По факту, не является системой сборки. На деле высокоуровневый конфигуратор для системы сборки ninja. Позволяет очень быстро подготовить сборку своего проекта, но трудно кастомизируется, если нужно что-то нетривиальное. ИМХО наркоманское исполнение subproject. Для линковки необходимых библиотек иногда нужно долго подбирать их название, удовлетворяющее meson. Используется проектом mesa3d.
Сmake сложен для освоения, многословен, ужасная документация, однако содержит кучу возможностей для кастомизации сборки под свои потребности. По факту, сейчас является самой распространенной системой сборки (даже учебники по нему видел).
| |
|
1.6, Аноним (6), 11:24, 23/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Корпораты по своим личным гендерным причинам нее переносят autotools. Ядро Линукс как-то собирается и ничего. А у этих не получается, практически со студенческой скамьи начинают сборочные системы строгать.
| |
|
2.11, Аноним (2), 11:55, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
В ядре Linux autotools не используется. Вообще, autotools - это груда костылей на никому не известных язычках вроде M4 кишками наружу - у авторов не было никакого понятия об инкапсуляции. Сравнивать его "архитектуру" можно только с CVS.
| |
|
3.31, Вы забыли заполнить поле Name (?), 22:16, 23/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> на никому не известных язычках вроде M4
m4 is a general-purpose macro processor included in most Unix-like operating systems, and is a component of the POSIX standard. First appeared 1977; 46 years ago
CMake точно также можно называть костылем. Особенно учитывая такое явление, как modern cmake.
| |
3.32, ыы (?), 08:04, 24/07/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
>не известных язычках вроде M4
это прородитель всего сущего... RTFM LMD!
| |
|
4.42, TydymBydym (ok), 22:38, 30/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Да нахрен такие прородители? Я помню что даже sendmail.cf предпочитал руками писать (да-да, все эти правила чтобы почту от спамеров и прочих кулхацкеров фильтровать), лишь бы с этой хтонью не связываться.
| |
|
|
|
|