ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
9 мая
1371207 Топик полностью
evgeniy1294 (13.11.2023 10:40, просмотров: 202) ответил Eddy_Em на Линукс - это ОС с окружением, естественно.
Выражение "нет ничего невозможного" выдаёт не очень опытного программиста. Люди не хотят делать невозможное, люди хотят зарабатывать деньги, а потеря двух-трёх рабочих дней для решения вроде бы тривиальной задачи через cmake не вызывает ничего, кроме досадного удивления. 

Есть такое понятие, как "индустрияльный стандарт", которым в силу исторических причин стал cmake. Собственно, архитектура и баги cmake являются одним из следствий, от которых написание сборочных скриптов считается сложным и требует большого количества человеко-часов. Теперь отделаться от него сложно, особенно когда ваш проект тянет библиотеку, собираемую cmake. Просто потому что долгое время небыло ничего, кроме cmake, а сам язык C/C++ стагнировал и не развивался. Процесс пошёл только с выходом нового стандарта в 2011г.


Вся проблема makefile-портянок и их генераторов в том, что невозможно нормально управлять процессом сборки, нужно каждый раз генерировать новую портянку на чуть новые условия. На текущий момент проект cmake более чем в 20 раз тяжелее make, но он продолжает тянуть эти 5%, ограничивая себе функционал и отказывая в развитии. И всё ради программки, способной по шаблону передать компилятору ключи. Архитектура изначально ущербна и это тот случай, когда принцип kiss пошел во вред.


Что касается xmake, то это продукт китайского рынка, и пилится он в интересах китайских компаний. С момента появления в 2015 году он уже обошел cmake по функционалу, просто за счёт удачной архитектуры и способности сбирать самостоятельно.