Инструменты многоязычной сборки

У меня есть процесс сборки для большой корпоративной системы, состоящей из нескольких десятков отдельных EXE и DLL. Они используют несколько языков: C, C ++, Fortran, Python, Awk и еще несколько. Скрипты сборки - это пакетные процессы 4DOS, которые развивались более 4 десятилетий. Они большие и неповоротливые, нуждаются в постоянном уходе и кормлении.

Я должен сохранить решение Visual Studio и файлы проекта в качестве основных объектов компиляции / компоновки. Какой лучший инструмент для объединения этих разрозненных языков воедино? 4DOS очень старый и громоздкий.

РЕДАКТИРОВАТЬ:

Спасибо, банда. Думаю, сначала я попробую SCONS, потому что это Python. У нас есть много людей, хорошо разбирающихся в Python, чтобы иметь возможность обновлять и поддерживать его. Мне сейчас 61 год, и я не собираюсь поддерживать это в долгосрочной перспективе. Мне не нравится что-либо, требующее JAVA или XML, потому что это не языки, которые уже включены в нашу линейку продуктов, и у нас их достаточно.

Эти сообщения в блоге были хорошими. Он пришел к выводу, что SCONS был лучшим, но просто слишком медленным для его целей. Я не ищу скорости в ночных сборках. До 7 утра. Хочу удобочитаемости и ремонтопригодности.


person SumoRunner    schedule 02.03.2009    source источник


Ответы (8)


Например, Apache Ant

person vartec    schedule 02.03.2009

Муравей - хороший выбор. Я также хотел бы попробовать Rake.

person Jeffrey Fredrick    schedule 02.03.2009

Я думаю, что лучший выбор - NAnt и MSBulid.

person Soltys    schedule 02.03.2009

Возможно, Scons?

person Laserallan    schedule 02.03.2009

Они могут быть немного устаревшими - системы сборки могли немного развиться, но это должно, по крайней мере, дать вам лучшее представление о том, чего ожидать:

Лично мне никогда не требовалось ничего особенного, чего нельзя было бы достичь с помощью файлов проектов / решений VS, make-файлов и BATCH'ов, поэтому я не буду рекомендовать что-либо конкретное.

person Paulius    schedule 02.03.2009

Определенно Scons. Он, естественно, работает с fortran и C, и основан на Python, поэтому у него не должно быть никаких проблем с этим (хотя никогда не использовал его для py, поэтому не могу сказать по опыту). Кроме того, он гораздо более читабелен, чем большинство из них.

person Rook    schedule 02.03.2009

Я знаю, что Maven не специализируется ни на чем, кроме Java, но, возможно, об этом стоит хотя бы упомянуть . Была проделана некоторая работа по включению хотя бы C / C ++. По сравнению с Ant, он подключается аналогичным образом, но он скорее декларативный, чем императивный, со стандартизированным управлением зависимостями и репозиторием результатов сборки, который может даже распространяться.

person falstro    schedule 03.03.2009

ANT + terp для частей C ++. terp прекрасно работает с VisualStudio, а также со многими другими компиляторами C ++ на многих платформах. Однако для ANT требуется Java, хотя бы в качестве хостинговой технологии. Я не знаю, отвечает ли это вашим требованиям или вы просто не хотите начинать писать код Java.

person Community    schedule 13.07.2009