История изменений
Исправление i-rinat, (текущая версия) :
Ты вроде как говоришь, что «make медленный
Нет. Я говорил, что вариант с Ninja быстрее. Причём не только для CMake, но и для GYP, для предка которой он создавался.
поскольку доводилось заглядывать в то дерьмо, что cmake подает ему на вход.
Там что-то кардинально плохое? У CMake открытый багтрекер.
Лично я считаю, что монстрообразные Makefile неизбежны. Если у тебя большой проект, и хочется пересобирать код, если включенные в него файлы изменились, нужно перечислять все эти зависимости. Вручную это можно сделать более или менее приемлемо, но трудоёмкость и ошибко-ёмкость зашкаливающие. Генераторы делают жутковатый код, но избавляют от рутиных операций.
Вдобавок к этому Make делался для создания Makefile'ов человеком. Какой смысл в поддержке вычурного синтаксиса, если файл всё равно генерируется? В Ninja много чего нет, писать руками его почти невозможно, хотя всё ещё можно кое-как читать. Нет лишних операций.
Именно.
Примитивность Ninja заставляет лучше продумать, как ты будешь писать для него конфиг.
Исходная версия i-rinat, :
Ты вроде как говоришь, что «make медленный
Нет. Я говорил, что вариант с Ninja быстрее. Причём не только для CMake, но и для GYP, для предка которой он создавался.
поскольку доводилось заглядывать в то дерьмо, что cmake подает ему на вход.
Там что-то кардинально плохое? У CMake открытый багтрекер.
Лично я считаю, что монстрообразные Makefile неизбежны. Если у тебя большой проект, и хочется пересобирать код, если включенные в него файлы изменились, нужно перечислять все эти зависимости. Вручную это можно сделать более или менее приемлемо, но трудоёмкость и ошибко-ёмкость зашкаливающие. Генераторы делают жутковатый код, но избавляют от рутиных операций.
Вдобавок к этому Make делался для создания Makefile'ов человеком. Какой смысл в поддержке вычурного синтаксиса, если файл всё равно генерируется? В Ninja много чего нет, писать руками его почти невозможно, хотя всё ещё можно кое-как читать. Нет лишних операций.