LINUX.ORG.RU

История изменений

Исправление 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 много чего нет, писать руками его почти невозможно, хотя всё ещё можно кое-как читать. Нет лишних операций.