C ++ Build Systems - Что использовать? [закрыто]

Я смотрю на запуск нового проекта на C ++ - изначально только в свое время - и исследую доступные системы сборки. Похоже, что ответ «много», и все они «ужасны».

Функции, которые мне особенно нужны для этого:

C++11 support Cross platform (Linux as main target, but able to build on at least Windows as well) Decent unit testing support Support for multiple modules for separating code out Support for code generation (Using asn1c or protobuf - not 100% sure yet) Easy to maintain

Теперь я знаю, что достаточно легко справлюсь с 1-4 из них, используя CMake и Autotools. Возможно также с SCons и Waf и парой других тоже. Проблема в том, что я никогда не понимал, как правильно выполнять генерацию кода, используя их - то есть исходные файлы, которые не существуют до первого запуска процесса сборки, поэтому исходные файлы, которые система сборки должна преобразовать в исполняемый код но на самом деле не знает, пока не начнется сборка ... (ASN1C, в частности, генерирует десятки заголовочных и исходных файлов, которые должны быть в состоянии работать вместе, а фактический набор генерируемых файлов зависит от содержимого вашего asn-файла). Кроме того, тот факт, что ни один из них не особенно прост в обслуживании - у CMake и Autotools есть свой огромный набор сценариев, которыми нужно управлять, чтобы они работали, а Waf и Scons требуют, чтобы все, кто с ними работал, имели приличное знание python (Я не работаю с ними)

Итак - какие системы сборки рекомендуются для чего-то подобного? Или я пока застряну с файлами make и скриптами оболочки?

Ответы на вопрос(8)

Ваш ответ на вопрос