Есть какой-нибудь хороший инструмент для сборки, который не мешает мне? - PullRequest
0 голосов
/ 13 августа 2011

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

Я бы предпочел указать правила, а не шаги в процессе сборки. Я хочу сказать, что мне нужен двоичный файл с именем, помещенным в корневой каталог моего проекта, файлы .o должны идти в директории obj / tmp, а источник находится в каталоге Source.

Я не хочу говорить, что это именно этот файл, поскольку я продолжаю добавлять новые файлы довольно быстро, он должен просто сканировать исходный каталог (и его подкаталоги) в поисках кода Ragel (.rl) и C ++ (.cxx) и делать все необходимое, чтобы превратить все в исполняемый файл.

Я просмотрел много инструментов, таких как auto {make, conf, header} (мне не очень понравилось, что я поместил нужные файлы в подкаталог root проекта, eclipse тоже не понравился), CMake (похоже Я должен добавить все исходные файлы сам, и это довольно много вариаций автоинструментов в моих глазах). Я также читал об ant, maven (у меня также аллергия на XML, это хороший формат для сериализации данных для приложений, не столько для людей. Я бы предпочел YAML) и других на WikiPedia. И я видел инструменты, которые кажутся хорошими, но которые должны быть настроены как веб-сервер, который является своего рода излишним.

Кроме того, мне действительно нужна возможность работать в автономном режиме без подключения к Интернету!.

Сейчас кажется, что лучший вариант - создать небольшой скрипт, который найдет все файлы .cxx и напишет Unity.cxx и создаст его с помощью G ++, который, вероятно, довольно быстрый, но, по-моему, довольно уродливый. .

Бонусные баллы:

  1. Быстрые сборки
  2. Возможность набрать build test-1 или что-то еще, и он будет собираться и напрямую запускаться test-1
  3. Многоядерные сборки (т.е. более быстрые сборки)
  4. Действительно не прерывает мой ход мыслей

Ответы [ 2 ]

1 голос
/ 13 августа 2011

CMake отлично.Он бесплатный, кроссплатформенный и достаточно хорошо документирован.Он поддерживает «сборки из исходного кода», то есть ни один из файлов сборки не помещается в исходный каталог.Это делает управление исходным кодом немного легче.Это может быть настроено для поиска новых файлов (globbing).Быстро? ... Он генерирует make-файлы ... после этого дело за вашим компилятором.Multicore ... опять же, больше функция компилятора.Я использовал CMake на Windows, Linux и Mac ... он просто работает.

Еще один, который я не пробовал, но прочитал и планирую протестировать, это premake ... http://industriousone.com/sample-script

0 голосов
/ 03 ноября 2011

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

CMake и premake - это не build / maketools, а генераторы build / make-descriptor; который может соответствовать большому количеству проектов, которые не меняются слишком сильно. Но не для проекта, где быстрое прототипирование является ключевым.

Сейчас я делаю проект, в котором браузер обновляется, когда вы нажимаете кнопку сохранения в текстовом редакторе; Вам не нужно заходить в браузер и нажимать клавишу F5 (что может вызвать небольшую задержку, пока браузер снова загружает все , и вы, скорее всего, потеряете состояние страницы , например, скажем, что у вас открыто меню, и вы хотите изменить внешний вид меню. Вы будете вынуждены снова перемещаться туда в своем RIA).

...