The OpenNET Project / Index page

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



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

"Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от opennews (??), 12-Авг-25, 10:34 
Представлен релиз кроссплатформенного открытого генератора сценариев сборки CMake 4.1.0, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63713

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

Оглавление

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


1. "Релиз сборочной системы CMake 4.1.0 "  +7 +/
Сообщение от Аноним (1), 12-Авг-25, 10:34 
В каком интересно месте он "простой языка сценариев"? По-моему он давно примкнул к тем кого должен был заменить
Ответить | Правка | Наверх | Cообщить модератору

2. "Релиз сборочной системы CMake 4.1.0 "  +5 +/
Сообщение от Аноним (2), 12-Авг-25, 10:38 
Тоже обратил внимание, что все альтернативы старому-доброму make почему-то сложнее и только продолжают бухнуть. Может конечно возможность выкачивать зависимости с гитхаба напрямую и есть хорошо, но вот эта вечная беготня с «да что перестроить уже, чтобы ты готовую либу всё же увидел» и жонглированием трудночитаемыми конфигами напрягает.
А сколько дыр через все эти навороченные системы сборки пролезает...
Ответить | Правка | Наверх | Cообщить модератору

3. "Релиз сборочной системы CMake 4.1.0 "  +4 +/
Сообщение от IMBird (ok), 12-Авг-25, 10:39 
Крепитесь: всё чаще попадаются C/C++ проекты со сборочными скриптами на питоне.
Ответить | Правка | Наверх | Cообщить модератору

7. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (7), 12-Авг-25, 10:46 
Так питон идеальный язык для быстрого написания скриптов. Разве не так? И да, meson открой для себя.
Ответить | Правка | Наверх | Cообщить модератору

10. "Релиз сборочной системы CMake 4.1.0 "  +1 +/
Сообщение от Аноним (2), 12-Авг-25, 10:48 
На мезоне сидят гтк, вяленд, системд и оригинальный ксорг, что как бы намекает.
Ответить | Правка | Наверх | Cообщить модератору

15. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от анонд (?), 12-Авг-25, 11:15 
Версии сборочных системы не всегда совместимы как тотже Conan (1.x vs 2.x) в отличие от CMake
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

8. "Релиз сборочной системы CMake 4.1.0 "  +1 +/
Сообщение от Аноним (2), 12-Авг-25, 10:46 
А почему не на расте?
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

24. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (24), 12-Авг-25, 12:14 
> А почему не на расте?

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

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

30. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Советский инженер (ok), 12-Авг-25, 13:12 
что там гадать.
toml & rust (build.rs)
Ответить | Правка | Наверх | Cообщить модератору

14. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от анонд (?), 12-Авг-25, 11:14 
и Lua (xmake с xrepo в китайских проектах)
Питон это Meson или Conan
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

5. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (7), 12-Авг-25, 10:43 
>все альтернативы старому-доброму make

Я тебе маленький секрет открою. На выходе cmake генерится старый добрый Makefile.

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

12. "Релиз сборочной системы CMake 4.1.0 "  +4 +/
Сообщение от Аноним (12), 12-Авг-25, 11:03 
Да он CMake и не пользуется.

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

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

26. "Релиз сборочной системы CMake 4.1.0 "  –1 +/
Сообщение от Аноним (26), 12-Авг-25, 12:45 
Эти коллеги в вкусно-и-точка скоро работать уйдут, т.к. иишка всех лоускилов выкидывает уже с рынка. Я вот стартап пилю и там только Make, т.к. это мегаудобно все вспомогательные действия держать в 1 месте а не плодить кучу мелких скриптов. И действия - любые, а не только предусмотренные авторами смаке. И качать зависимости можно хоть с гитхуба хоть откуда прозрачным способом и билдить их какой угодно сторонней системой сборки, просто сделав соответсвующий таргет. При этом собственно сборка всех с/с++ файлов проекта - 7 строк.
Ответить | Правка | Наверх | Cообщить модератору

28. "Релиз сборочной системы CMake 4.1.0 "  +1 +/
Сообщение от Аноним (12), 12-Авг-25, 13:00 
> Эти коллеги в вкусно-и-точка скоро работать уйдут
> Я вот стартап пилю

Ну, то есть, на мороз пока выкинули только тебя. 😂 Стартап, лол...

> все вспомогательные действия держать в 1 месте а не плодить кучу мелких скриптов

И весь исходный код тоже в одном файле, надеюсь? 😂 Хотя, когда у тебя хэллоуворлд - это не проблема, так ведь?

> И действия - любые, а не только предусмотренные авторами смаке

А, ну понятно: еще один эксперт, который CMake в глаза не видел, рассказывает об его ограничениях. 🤦

> И качать зависимости можно хоть с гитхуба хоть откуда прозрачным способом и билдить их какой угодно сторонней системой сборки, просто сделав соответсвующий таргет. При этом собственно сборка всех с/с++ файлов проекта - 7 строк.

Ты не поверишь, но в CMake тоже так 🤯. Только вот работать оно будет на всех системах (даже Винде), а не только в юниксовом окружении.

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

31. "Релиз сборочной системы CMake 4.1.0 "  –1 +/
Сообщение от Аноним (26), 12-Авг-25, 13:13 
Ну каг бе стратап зарабатывает уже неплохо, есть некоторый штат сотрудников, а я за CTO. Я заранее подготовился, а кого-то вот ждёт неприятный сюрприз. Кусочки кода, которые узко смотрящие кодеры могут писать, давно уже нейронка делает.

> эксперт, который CMake в глаза не видел

15 лет в IT за деньги, а так ещё больше.

> даже Винде

А мне не надо чтобы на венде работало (но там вообще-то есть линукс окружение и собрать можно если не лоускил или хотя бы дипсик осилил).

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

37. "Релиз сборочной системы CMake 4.1.0 "  +1 +/
Сообщение от Аноним (12), 12-Авг-25, 13:24 
> есть некоторый штат сотрудников, а я за CTO

Ты уж определись, СТО ты или кодер-писатель make. 😂

> 15 лет в IT за деньги, а так ещё больше

Жаль, что не на позиции разработчика. 😂 А то в любом серьезном проекте ты за ручное написание make получил бы по шапке уже в первый месяц. 🤣

> А мне не надо чтобы на венде работало

Да я и не сомневался. Только вот тем, кому это надо - используют CMake.

> но там вообще-то есть линукс окружение и собрать можно если не лоускил или хотя бы дипсик осилил

Тебе об этом тот самый Дипсик сказал? Спроси его заодно, зачем мне там на Винде "линукс окружение", если проект собирается с msvc.

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

44. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (26), 12-Авг-25, 13:58 
> Ты уж определись, СТО ты или кодер-писатель make.

Тут некоторые жалуются мол синтаксис непонятный. Чатик всё напишет если что-то нетривиальное нужно. Лычку мастера мейкфайлов иметь не обязательно, достаточно иметь положительный iq. А так я много чё делаю, RnD всякое, деплой, настройка системы, оптимизация нейросетевых моделек - не только код пишу. Поэтому make как инструмент автоматизации не только лишь сборки - мастхэв.

> если проект собирается с msvc

Кто в здравом уме в 2к25 будет планировать стартап под венду? Либо под мак писать надо, т.к. деньги там, либо веб, котороый на линукс / wasm кругом, либо хардварный стартап с прошивками - там опять же msvc ненужон. Везде Make как родной. Если игру делать - то они все на готовых движках со своими билд системами.

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

16. "Релиз сборочной системы CMake 4.1.0 "  +1 +/
Сообщение от анонд (?), 12-Авг-25, 11:16 
CMake использует Ninja (когда доступно)
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

33. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Советский инженер (ok), 12-Авг-25, 13:17 
я тебе маленький секрет открою.
СMake никогда не был альтернативой make.
СMake стартанул как альтернатива autotools.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

36. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (36), 12-Авг-25, 13:21 
Согласен

cmake ./
make

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

11. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (12), 12-Авг-25, 10:53 
> Тоже обратил внимание, что все альтернативы старому-доброму make

А make когда-то был системой сборки? 😂

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

13. "Релиз сборочной системы CMake 4.1.0 "  –1 +/
Сообщение от Аноним (13), 12-Авг-25, 11:04 
А не что тот факт, что cmake - это генератор Makefile'ов, т.е. аналог autotools. Makefile, cгенерированный cmake'ом, затем внезапно запускается в обычном make.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

18. "Релиз сборочной системы CMake 4.1.0 "  +1 +/
Сообщение от анонд (?), 12-Авг-25, 11:17 
CMake поддерживает несколько генераторов. Ninja намного производительнее чем Make
Ответить | Правка | Наверх | Cообщить модератору

29. "Релиз сборочной системы CMake 4.1.0 "  –1 +/
Сообщение от Аноним (26), 12-Авг-25, 13:06 
> Ninja намного производительнее чем Make

Это миф. Ninja просто запускает подготовленные кем-то (basel например) команды из compile_commands.json.
1. если в makefile просто засунуть список этих команд, без вычисления зависимостей, то отработает за +- то же время, но так люди не делают, т.к. не читаемо.
2. ninja отрабатывает после генератора этого compile_commands.json и если сложить время, то оно будет больше чем у нормального человеческого Makefile из нескольких строчек.

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

35. "Релиз сборочной системы CMake 4.1.0 "  +2 +/
Сообщение от Советский инженер (ok), 12-Авг-25, 13:20 
> ... команды из compile_commands.json

🤣🤣🤣

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

39. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (12), 12-Авг-25, 13:30 
>> Ninja намного производительнее чем Make
> Это миф. Ninja просто запускает подготовленные кем-то (basel например) команды из compile_commands.json.

Вот такие вот истории со срывами покровов получаются, когда стартапного СТО познакомить с DeepSeek... 🤦

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

40. "Релиз сборочной системы CMake 4.1.0 "  –1 +/
Сообщение от Аноним (26), 12-Авг-25, 13:41 
Чатик мне запилил так-то рабочий скрипт для конвертации мезон либ в тупо папку в проекте с исходниками парсингом compile_commands.json, так что я в курсе, как это работает. Makefile в отличие от cmake не требует указывать каждый C/C++ файл (тот так может но криво и ломается так сборка постоянно, поэтому у смачников сизифов труд по добавлению каждого с файла в смаке). Т.к. мне не нужно иметь кучу раздутых so всё собирается статически с едиными флагами в компактный бинарь.
И да, я использую генерацию кода - и что вы мне сделаете) Раздутый штат кодеров больше компаниям не нужон.
Ответить | Правка | Наверх | Cообщить модератору

48. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (12), 12-Авг-25, 14:13 
> рабочий скрипт для конвертации мезон либ в тупо папку в проекте с исходниками парсингом compile_commands.json

Попроси чатик объяснит смысл этого набора случайных слов, ибо я лично распарсить его не смог.

> Makefile в отличие от cmake не требует указывать каждый C/C++ фай

CMake тоже не требует. Спроси у своего чатика о CONFIGURE_DEPENDS.

> Т.к. мне не нужно иметь кучу раздутых so всё собирается статически с едиными флагами

Ага, все сторонние либы, да еще и C с C++ вперемешку - с едиными флагами? 😂 Ну сказано же: мастер хэллоуворлдов, реальных кодовых баз в глаза не видавший.

> И да, я использую генерацию кода - и что вы мне сделаете)

Проявим сочувствие. Ну, насколько это возможно к "стартапному СЕО, по совместительству писателю мейкфайлов при помощи DeepSeek" 🤣

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

49. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (26), 12-Авг-25, 14:24 
> я лично распарсить его не смог

Не мудрено для i shaped специалиста по смаке. Поясняю - берётся мезон либа, указываются нужные флаги, мезон генерит compile_commands, скипт на питоне достаёт оттуда пути к собираемым файлам, фиксит корявые пути к инклудам и кладёт с/с++/h файлы в отдельную папочку внутри Makefile проекта. Всё, больше мезон не нужен.

> C с C++ вперемешку - с едиными флагами?

Да, прикинь? Проект на C/C++ с едиными флагами (кроме версии стандарта языка разве что, это включено в CC/CXX переменную)

app: $(patsubst %.cpp,build/%.cpp.o,$(SRC_CPP)) $(patsubst %.c,build/%.c.o,$(SRC_C))
    $(CXX) $^ $(LFLAGS) -o app

build/%.c.o: %.c
    $(CC) $(CFLAGS) -I$(dir $<) -MD -c $< -o $@

build/%.cpp.o: %.cpp
    $(CXX) $(CFLAGS) -I$(dir $<) -MD -c $< -o $@

-include $(patsubst %.cpp,build/%.d,$(SRC_CPP)) $(patsubst %.c,build/%.d,$(SRC_C))

И всё! Надо будет - добавлю go / swift / что угодно компилируемое.

> Проявим сочувствие

Учитесь, пока не поздно) Либо правильному промптингу нейронок, либо котлету на булку класть)

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

4. "Релиз сборочной системы CMake 4.1.0 "  –1 +/
Сообщение от Аноним (7), 12-Авг-25, 10:41 
А где ты там сложности вообще увидел? target_link_libraries не осилил?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

34. "Релиз сборочной системы CMake 4.1.0 "  +1 +/
Сообщение от Аноним (34), 12-Авг-25, 13:19 
В прошлый раз тут советовали писать тесты для оператора if, потому что по меркам CMake это сложная логика с проблемным легаси ("The if command was written very early in CMake's history..."), которое решили не чинить.
Ответить | Правка | Наверх | Cообщить модератору

41. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (7), 12-Авг-25, 13:43 
Не знаю, кто там тебе и чего советовал, но проект на cmake накинуть можно за пару минут.
Ответить | Правка | Наверх | Cообщить модератору

6. "Релиз сборочной системы CMake 4.1.0 "  +2 +/
Сообщение от Жироватт (ok), 12-Авг-25, 10:43 
Интересно, как скоро
а) язык конфигурирования сборочной системы СМаке оформится как отдельный, полноценнный Тьюринг-полный язык,
б) для которого нужен будет свой язык конфигурирования сборки?
Ответить | Правка | Наверх | Cообщить модератору

21. "Релиз сборочной системы CMake 4.1.0 "  +1 +/
Сообщение от Аноним (21), 12-Авг-25, 11:30 
так CMake уже Тьюринг-полный и скрипты можно запускать не в режиме сборки, а в режиме интерпретации через ключ -P
Ответить | Правка | Наверх | Cообщить модератору

17. "Релиз сборочной системы CMake 4.1.0 "  +2 +/
Сообщение от anon57email (?), 12-Авг-25, 11:16 
На работе, в основных проектах, был выбран CMake. Периодически приходиться нырять в эту чертовщину и чинить. Хорошо хоть появились форки CMake с поддержкой отладки.
Для домашних проектов использую premake5. С версии 5-beta6 появился API для управления зависимостями примерно как в CMake. Теперь можно описать как использовать либу, а потом просто воткнуть в проекте uses 'SDL3' и нужные опции прокидываются. Тут если что почитать можно: https://premake.github.io/docs/Usages-and-Uses

Короче CMake не нужен, закапывайте.

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

27. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (12), 12-Авг-25, 12:49 
> С версии 5-beta6 появился API для управления зависимостями примерно как в CMake.
> нужные опции прокидываются
> Короче CMake не нужен, закапывайте

То есть недавно в бета-версии premake появилась опция, которая доступна в CMake уже лет 20? Уже бегу закапывать CMake!

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

42. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (7), 12-Авг-25, 13:44 
>в основных проектах
>нырять в эту чертовщину и чинить

Наверное тут надо команду разработи менять, а не cmake.

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

19. "Релиз сборочной системы CMake 4.1.0 "  +1 +/
Сообщение от анонд (?), 12-Авг-25, 11:18 
Все используют CMake, но писать на этом языке никто не хочет
Ответить | Правка | Наверх | Cообщить модератору

43. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (7), 12-Авг-25, 13:48 
Я тебя может удивлю, но пользователи cmake даже не используют. Только мейнтейнеры и изредка программисты.
Ответить | Правка | Наверх | Cообщить модератору

22. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (22), 12-Авг-25, 12:08 
Беда почти всех яп - чтобы собрать программу, надо выучить ещё один язык. Хорошо, что я сборщики себе на сях свои пишу.
Ответить | Правка | Наверх | Cообщить модератору

23. "Релиз сборочной системы CMake 4.1.0 "  –1 +/
Сообщение от Аноним (23), 12-Авг-25, 12:14 
что мешает писать все в одном файле? :)
Ответить | Правка | Наверх | Cообщить модератору

25. "Релиз сборочной системы CMake 4.1.0 "  –1 +/
Сообщение от Аноним (-), 12-Авг-25, 12:42 
Нужно умещать весь код в один экран, как это делает создатель языка K.
Ответить | Правка | Наверх | Cообщить модератору

38. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (23), 12-Авг-25, 13:25 
забыл совсем, у вас там скрол не работает в терминале :)
Ответить | Правка | Наверх | Cообщить модератору

32. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от trolleybus (?), 12-Авг-25, 13:14 
Rust с build.rs нервно курит в сторонке... Хотя, о чем это я. Для экспертов опеннета раст - не язык.
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

47. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (47), 12-Авг-25, 14:10 
а в чем проблема писать так чтобы одного языка хватало?
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

45. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (45), 12-Авг-25, 14:02 
Кто-нибудь пробовал системы сборки meson или bazel?
Ответить | Правка | Наверх | Cообщить модератору

46. "Релиз сборочной системы CMake 4.1.0 "  +/
Сообщение от Аноним (45), 12-Авг-25, 14:08 
Зависимости cmake весят больше программы в несколько раз. Прикольно, че.
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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