Как видно из названия, я хочу иметь инструмент для сборки, который довольно сильно мешает мне.
Я бы предпочел указать правила, а не шаги в процессе сборки. Я хочу сказать, что мне нужен двоичный файл с именем, помещенным в корневой каталог моего проекта, файлы .o должны идти в директории obj / tmp, а источник находится в каталоге Source
.
Я не хочу говорить, что это именно этот файл, поскольку я продолжаю добавлять новые файлы довольно быстро, он должен просто сканировать исходный каталог (и его подкаталоги) в поисках кода Ragel (.rl) и C ++ (.cxx) и делать все необходимое, чтобы превратить все в исполняемый файл.
Я просмотрел много инструментов, таких как auto {make, conf, header} (мне не очень понравилось, что я поместил нужные файлы в подкаталог root проекта, eclipse тоже не понравился), CMake (похоже Я должен добавить все исходные файлы сам, и это довольно много вариаций автоинструментов в моих глазах). Я также читал об ant, maven (у меня также аллергия на XML, это хороший формат для сериализации данных для приложений, не столько для людей. Я бы предпочел YAML) и других на WikiPedia. И я видел инструменты, которые кажутся хорошими, но которые должны быть настроены как веб-сервер, который является своего рода излишним.
Кроме того, мне действительно нужна возможность работать в автономном режиме без подключения к Интернету!.
Сейчас кажется, что лучший вариант - создать небольшой скрипт, который найдет все файлы .cxx и напишет Unity.cxx
и создаст его с помощью G ++, который, вероятно, довольно быстрый, но, по-моему, довольно уродливый. .
Бонусные баллы:
- Быстрые сборки
- Возможность набрать
build test-1
или что-то еще, и он будет собираться и напрямую запускаться test-1
- Многоядерные сборки (т.е. более быстрые сборки)
- Действительно не прерывает мой ход мыслей