Опубликован релиз сборочной системы Meson 0.58, которая используется для сборки таких проектов, как X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME и GTK. Код Meson написан на языке Python и поставляется под лицензией Apache 2.0...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=55068
А тем временем cmake всё жирнеет и уже у него в подзависимостях сборки есть месон.
Видимо придётся на мисон сваливать, хоть мне эти пробелы считать и не нравится.
> хоть мне эти пробелы считать и не нравитсяMeson хоть и на Python, но к идентации безразличен. Там свой DSL, не питоновый, хоть и похож немного.
И да, meson умеет использовать cmake в subprojects. Иногда даже без правок. Как я понял: meson разбирает cmake AST и транслирует его в собственный формат подпроекта.
Там, рядом, к счастью сишную версию подогнали.А что до cmake - он умеет makefile гененить, если какие там еще нинзи мне не надо было. А мезон так не умеет и это их чудной командочкой заявлено как wontfix. Отличная команда. От других.
> А мезон так не умеет и это их чудной командочкой заявлено как wontfixТак он изначально делался с упором на ninja и работа с make и не планировалась, поэтому и wontfix. Проблемы добыть/собрать ninja особо не наблюдается (даже в один статический бинарник).
Нет, ну есть там бэкенд для msvc, но он довольно сырой и не рекомендуется к промышленному использованию.
> А тем временем cmake всё жирнеетТак они наоборот зависимости выбрасывают. Недавно "deprecated" lsp сервер,
скоро выбросят его и его зависимости. А кроме него вроде вообще никаких зависимсотей несколько лет е добавляли.
> хоть мне эти пробелы считать и не нравится.А зачем ты пробелы считаешь-то, неужто табуляцией не научился пользоваться?
А мне лучше оказалось прочесть книжку по gnu make. Если очень захочется чё-нить странного из конфигураторов -- может, чеусовский mk-configure почитаю, хотя там тоже свои тараканы как для дистрибутива...
> А мне лучше оказалось прочесть книжку по gnu make. Если очень
> захочется чё-нить странного из конфигураторов -- может, чеусовский mk-configure почитаю,
> хотя там тоже свои тараканы как для дистрибутива...Недостаточно энтерпрайзно для MVP генераторов фабрик генерик фабрикаторов. Впрочем у make свои тараканы есть. Для своих проектов мне его как-то хватает. Нo некоторый обвес вокруг все же образовался и стало немного напоминать кого-то из упомянутых.
> А тем временем cmake всё жирнеет и уже у него в подзависимостях сборки есть месон.Зачем ему мезон для сборки? Вы там чего, обкурились?
Гугл-зонды присутствуют?
Что за глупый вопрос. Возьми код и посмотри.
Блджад, Ninja написан на C++
Там код, по большей части, простой, как валенок. Берёшь и изучаешь, если уж везде зонды мерешатся.
Есть же samurai - тот же ninja, переписанный на C с исправлениями недетерминированного поведения (да-да, ниндзя и такое выделывает).
Ждём ungoogled-meson
>Есть же samurai - тот же ninja, переписанный на CЖдём ronin - тот жу samurai, переписанный на Rust.
samurai без С - это то же самое, что samurai с С. Только без С.
> Ждём ronin - тот жу samurai, переписанный на Rust.Dronin. Гугло амазоно дрон, как обычно качающий половину интернета и привязаный к централизованому карго-культ-сервису.
Мезон в принципе неплох, если приложуха или либа простая, то реально экономит время, но шаг влево, шаг вправо -- и всё, приходится дичайше костылить. Например, кто-то выдумал, что все собираемые файлы должны располагаться исключительно в builddir. Не в подпапке builddir, а прямо непосредственно в builddir и точка. Можно подписаться на этот ишью, чтоб пару раз в год получать в уведомлениях удивленные возгласы, что это еще не пофикшено. https://github.com/mesonbuild/meson/issues/2320
Есть такое местами. Меня, например, иногда дико напрягают "плоские" сабпроджекты. Не знаю, пофиксили эту "фичу" или нет, но иногда напрягает (хотя meson мне всё равно нравится).Поясню. "Плоские" - значит, что если включаешь подпроект, у которого есть свои подпроекты, то эти вложенные подпроекты надо выносить наверх. А если у тебя уже есть такие же зависимости в подпроектах, то вынос выходит довольно нетривиальным.
Перестаньте уже путать каталоги и папки. Папка -- контейнер для отображения какого-нибудь списка. В папке нет файлов, только строки-элементы списка.
CMake наше все и без зондов от гугла
Смаке - малодушная попытка угодить программистам под альтернативные ОС. Гордые и красивые используют только gnu make.
Гордые и красивые пишут на assembler под целевой проц и целевую ось, все остальное от лукавого
По настоящему гордые и красивые пишут прямо в кодах, вводя их с кнопочного пульта, а результат считывают с лапочек индикации на передней панели.
А то развели, понимашь, всякие клавиатуры, дисплеи, редакторы... Ручками надо, руками!
На машинных кодах никто не пишет не ври, а вот без assembler никуда если хочешь воспользоваться всеми фичами процессора
Вы не поняли -- он про тот вариант, когда загрузчик, например, тубмлерами и набивался. Именно в машинных кодах.
Версия 2.0 - пару кнопок на JTAG и вперед.
Нет, ты ошибся. По настоящему гордые и красивые владеют своими фабриками по производству процессоров и FPGA и имеют подразделения по проектированию схем и заводы по сборке готовых изделий и при желании могут получить на руки полностью свой телефон, сделанный из полностью своих чипов, на которых крутится полностью свой софт.
> Нет, ты ошибся. По настоящему гордые и красивыеИмя, сестря, имя! (ц)
Так-то фантазировать любой горазд, не соображая в матчасти вообще.
build.bat
Чукча не слышал про cmake -G Makefile?
> Чукча не слышал про cmake -G Makefile?Читать этот makefile потом как-то очень так себе, да и -G не надо, по дефолту такое генерит :)
Непереносимая попса.
Только posix make, только хардкор.
> Непереносимая попса.Гм, и куда лично Вы gnu make не отнесли?
> Только posix make, только хардкор.
GNU make conforms to section 6.2 of IEEE Standard 1003.2-1992 (POSIX.2).
И вообще -- http://www.gnu.org/software/make/manual/make.html в помощь.
Где-нибудь есть нормальная документация на это поделие? После отличной документации Cmake я как-то отвык от подхода «просто лью исходники на гитхаб, кому надо - сам разберётся».
https://meson-manual.com/" written by Jussi Pakkanen, the original creator and current project lead of Meson."
Только сейчас недоступно :(
Платная бумажная книга вместо документации, которую к тому же нельзя купить? Это шутка такая?Чего ради абстрактный программист будет вкладывать своё время, деньги и нервы в перевод своих проектов на такую недоделанную систему сборку, где документация бумажная и платная в 2021 году?
Спасибо, я всё понял. Закапывайте это.
> Спасибо, я всё понял. Закапывайте это.Я поискал новости почему книга недоступна, и нашёл это:
https://nibblestew.blogspot.com/2020/10/the-meson-manual-goo...
Мало покупали, поэтому невыгодно стало продавать, он сам и свернулся и написал, что не будет выкладывать в открытый доступ.
Жаль :(
"Бузинес-модель" глупее придумать можно, но помощники понадобятся...
> Платная бумажная книга вместо документации, которую к тому же нельзя купить? Это
> шутка такая?
> Чего ради абстрактный программист будет вкладывать своё время, деньги и нервы в
> перевод своих проектов на такую недоделанную систему сборку, где документация бумажная
> и платная в 2021 году?
> Спасибо, я всё понял. Закапывайте это.Одна из первых( первая в гуглопоиске ) же ссылок в поисковике: https://mesonbuild.com
Там и для новичков раздел и пошаговые обучающие материалы и жЫрные доки и примеры итд итп
> шутка такая?Не шутка а наглая монетизация.
Нормальной доки по Meson нет и не будет. В OpenSource хоть какая-то документация скорее исключение, чем правило.
Потому что "The source code is the ultimate manual".
Нет. Ноги растут от неспособности в проектирование, в анализ потребностей и сил, как итог на документацию забивают. Я сейчас добавлю вот это, завтра это изменю, а на третий день жизни моей библиотеки я все перепишу без обратной совместимости. При таком подходе уже не документации и тем более не до примеров.
> Нет. Ноги растут от неспособности в проектированиеЭто тот водопад, который, по одной легенде, штатовские вояки с криками понесли в массы, не дослушав "вот так делать не надо" в конце доклада?
Крайности бывают разные, но видал как-то одного "проектатора", припёршегося в проект finlin и начавшего через губу рассказывать, как всё не так и как надо родить Архитектуру. Рожал он её долго (возможно, потому, что ему оно и не надо было, просто припёрли к стенке за базар отвечать) и по сути принёс проекту больше вреда, чем пользы: так была бы мелкая "тетрадка", а так получился целый E/AS, который не получился (слишком много тех самых потребностей и сил было бы надо для реализации).
Это не призыв лепить всё на коленке, разумеется. А скорее напоминалочка, что неспособности -- они бывают тоже разные.
Сами эту глупость выдумали или понабрались у кого-то? Как же достали эти write-only кодеры!
> Сами эту глупость выдумали или понабрались у кого-то?Сами-то как думаете, если фраза приведена в кавычках? Ну, с трёх раз попробуйте угадать.
> Где-нибудь есть нормальная документация на это поделие?А https://mesonbuild.com чем плоха?
> После отличной документации Cmake
Ну документация-то действительно неплоха. Лично для меня проблема в ней в другом - её ОЧЕНЬ много. Я залюбился искать объяснение каждому очредному "вывиху" cmake в его документации (причём ещё и разных версий). У meson тут как-то попроще всё.
У меня опыт был обратный, в скачанном DXVK на Meson надо было поправить пару штук, добавить ключей компилятору. И всё, чёрта с два найдёшь объяснение как что работает. Если в Cmake просто забиваешь любое встреченное ключевое слово и получаешь подробную справку по нему, то в Мезоне - нет никакой информации, и всё через одно место. Даже регенерация проекта чёрт знает как делается.
он уже $LINGUAS научился обрабатывать?
> по задумке авторов разработчик должен тратить минимум времени на написание правилПримеры кода в тексте новости заставляют в этом усомниться.
> range(start, stop[, step])
> foreach i : range(15)Я, конечно, извиняюсь, но если range допускает использование одного аргумента, то в спецификации либо start (более вероятно), либо stop тоже должен быть в квадратных скобках.
Visual Studio - компилятор? Белены чтоли объелся?
> Visual Studio - компилятор?А Xcode ?
В новости не написано же, что Visual Studio - компилятор.
Скоро и им тоже станет.
Чем дольше смотрю на всю эту вакханалию, тем больше удивляюсь, почему так мало народа пользуются scons? Просто работает. Без "hacker-style" лапши.
у Scons та же проблема что и у Mercurial.
> у Scons та же проблема что и у Mercurial.какая?
ртутный не выдержал конкуренции, а вот сконс, в своё время просто захейтили -- сборка на основе питона, где-ж это видано!
> ртутный не выдержал конкуренции, а вот сконс, в своё время просто захейтилиАха-ха, тоесть мяу :)
Проблкм у сконса несколько.
И да, одна из них питон.
Если бы ребята из сконса додумались написать быстрый и тупой билдер типа нинзи, было бы нааамного все лучше. Т.е все красиво и чинно конфигуриться на питоне а уже для билда запускается быстрый нативный бинарь. А то ведь срамота получалась, когда сконс при инкркментальной сборке работал дольше компилятора плюсов.Проcрали шанс стать стистемой сборки для KDE.
Ну и напоследок - системы сборки без поддержки IDE нинужны.
>быстрый и тупой билдер типа нинзи, было бы нааамного все лучшезачем? тупых и быстрых мэйков, хоть тогда, хоть сейчас --- хоть попой...
идея была именно в одноступенчатости и возможности исключить ошибки сборки из-за разнесённых шагов.>получалась, когда сконс при инкркментальной сборке работал дольше компилятора плюсов
это было только в самых первых версиях, да и то, не уверен. в современных версиях нет ничего похожего, всё весьма быстро
>Проcрали шанс стать стистемой сборки для KDE
это была вина команды сконса? Или команде КДЕ больше понравился |~|/-\ker - StYlE CMAKE'а?
>системы сборки без поддержки IDE нинужны
смотря, что называть поддержкой
>зачем? тупых и быстрых мэйков, хоть тогда, хоть сейчасзатем. Повторюсь. фаза разбора проекта (конфигурации) может быть неторопливой. При ребилде проекта у системы сборки есть время подумать, но вот при инкрементальной сборке нет.
> это было только в самых первых версиях, да и то, не уверен. в современных версиях нет ничего похожего, всё весьма быстро
Тогда и производительность процов немного другая была.
>это была вина команды сконса? Или команде КДЕ больше понравился |~|/-\ker - StYlE CMAKE'а?
Я не знаю чья конкретно там была вина, но KDEшники жаловались на слабую поддержку команды сконса.
И судя по всему сконсу популярность тоже не особо нужна. Вот мы тут под новостью о системе сборки на питоне.
А на месте мезона мог бы быть сконс, как говориться. Но что-то сконсовцы опять не подсуетились.
Хром пару раз менял систему сборки, и снова сконс в пролете.> смотря, что называть поддержкой
То и называть. проект должен открываться в IDE, файлики проекта отображать, подсветки там всякие поддерживать.
> То и называть. проект должен открываться в IDE, файлики проекта отображать,
> подсветки там всякие поддерживать.Так это вопрос к IDE, наверное, что они там поддерживают. А равняться на них ну его, у майкрософт вон до сих пор C99 не полностью сделан, пусть сами на себя и равняются со своими IDE такие красивые. Ждать их 50 лет пока они там что-нибудь еще (не) накодят нафиг надо.
> написанной на языке Си
> Код распространяется под лицензией GPLv3Все правильно сделали. Вот это уже для людей разумных, а не редхатогугловебмакак.