LINUX.ORG.RU

ZenMake 0.10.0

 , ,


0

3

ZenMake — ещё одна система сборки для C/C++ и ряда других языков программирования с декларативными конфигурационными файлами.

ZenMake написан на python с использованием Waf в качестве фреймворка. Основная цель проекта — быть простым в использовании насколько это возможно, но оставаться достаточно гибким.

Зачем еще одна система сборки? Подробности (на английском): https://zenmake.readthedocs.io/en/latest/why.html

Основной репозиторий: https://gitlab.com/pustotnik/zenmake

Документация: https://zenmake.readthedocs.io/

Примеры использования: https://gitlab.com/pustotnik/zenmake/tree/master/demos

Способы использования:

  1. Установить в систему через pip install zenmake и использовать на манер CMake, Meson и др., вызывая zenmake в корне проекта.
  2. Скачать zipapp-форму zenmake.pyz отсюда или сгенерировать самостоятельно через команду zipapp и использовать как встроенную систему сборки.

>>> Подробности



Проверено: alpha ()
Последнее исправление: cetjs2 (всего исправлений: 4)

Ответ на: комментарий от Vark

Если вы знаете как системе сборки найти установленный буст в винде без указания путей, расскажите пожалуйста.

Не надо ничего искать уже и даже устанавливать. Vcpkg или conan всё сделают за вас. И именно поэтому для CMake сейчас нет альтернативы.

rupert ★★★★★
()
Ответ на: комментарий от cvs-255

Ну я не вижу как zenmake решает эти проблему. Я б скорее писал пропозал или сразу pull request.

invy ★★★★★
()
Ответ на: комментарий от rupert

vcpkg ничего за тебя не делает. Просто переписывает CMAKE_PREFIX_PATH ну и добавляет пару костыликов, но и без них можно.

https://github.com/microsoft/vcpkg/issues/8163

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)
Ответ на: комментарий от invy

vcpkg ничего за тебя не делает.

Делает конечно. Открываешь cmake файл и смотришь есть ли подчёркнутые строчки, жмёшь мышкой на них, и устанавливаешь все зависимости.

https://imgur.com/a/5Qg81Nd

Кто ещё так может? Без какой-либо консоли и прочей чепухи?

fsb4000 ★★★★★
()
Ответ на: комментарий от fsb4000

Это не vcpkg а твоя гуйня дёргает «vcpkg install» то же самое модно и с apt и другими пакетными менеджерами.

invy ★★★★★
()

Если вам важна простота, гибкость и минимализм, то стоит обратить внимание на redo (в Why? он не упомянут). Недавно делал про него статью на Хабре: https://m.habr.com/ru/post/517490/

stargrave
()
Ответ на: комментарий от invy

apt это системный менеджер, он для программирования не подходит. Вот у тела кейс: надо поправить баг в 2 релиза назад, а оно собирались с бустом Х, а сейчас вы прошли на буст У. Ну или возьми любую другую либу. Или надо тебе новую версию, а она с системной конфликтует.

Поэтому шапка и убрали питон из поставки (точнее спрятали): кому надо, ставьте venv.

anonymous
()
Ответ на: комментарий от anonymous

Взаимоисключающие параграфы такие взаимоисключающие.

Просто вещи плюс/минус. Для Вас это взаимоисключающие параграфы?

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

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

С кем ты ещё можешь сравнить? У Явы тоже та ещё бездуховность…

Может у руста это лучше получится с его эпохами, посмотрим.

anonymous
()
Ответ на: комментарий от anonymous

У Явы тоже та ещё бездуховность…

Там с контролем зависимостей и пакето-либами всё очень и очень хорошо, всем бы языкам так как у Java или Rust.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Расскажи, как инкрементальную сбоку в maven делать, мне очень по работе надо.

anonymous
()

ZenMake — ещё одна система сборки для C/C++

Даже не знаю, это еще «Пионеры, идите в жопу!» или уже «Астанавитес!» (с)

slackwarrior ★★★★★
()

А ну да, очередное питоноподелие для сборки С++ — это дуинг ит вронг и «фундаментальный недостаток», каковое насилие над трупом стюардессы и переизобретение колеса с открытием огня... для сжигания стюардессы на костре из колеса будет продолжаться, пока некты будут ощущать некую «бесплатность» подобных зависимостей (но их ждет печаль-бида).

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

ПМ нинужны, особенно когда без них некоторые программисты некоторых ЯП как без рук :)

Пока деды страдают, зумеры уже сделали для С++ PM, который сам в интернет сходит, скачает, соберёт все зависимости, нужно лишь написать json манифест.

Вот тут прочитай Example - CMake Integration:

https://github.com/microsoft/vcpkg/blob/master/docs/specifications/manifests.md

fsb4000 ★★★★★
()
Ответ на: комментарий от fsb4000

Никто не страдает, «деды» с попкорном наблюдают как то, за что засирали дельфы, теперь вдруг стало всем нужно-нужно, что они («зумеры», «хипсторы» и т.д. фантастические твари, придуманные журналистами с легкой руки Коупленда, у которого вообще-то Х был синонимом «племя молодое незнакомое», но долбоебы подумали что это «альфабетикал», а потом буквы кончились — а поколения еще нет) и вот вдруг без этого «ненужно» начинают путаться в куплетах :)

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)

Что не так с ninja?

sqq
()

с декларативными конфигурационными файлами.

Единственное преимущество декларативных описаний сборки перед скриптами в том, что их может понять ИДЕ, чтобы определить какие файлы входят в проект и с какими флагами происходит компиляция. Так когда будет плагин для ну хотябы емакса? А если плюнуть на ИДЕ (ну там например потому что в проекте слишком много кодогенерации происходит и языки новые применяются), то было бы неплохо освоить более крутую систему сборки, такую как https://shakebuild.com

q0tw4 ★★★★
()
Ответ на: комментарий от Vark

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

Подробности смотри в истории L-o-r.

Aceler ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.