Системы сборки C++ -Что использовать? [закрыто]

. Я подумываю начать новый проект на C++ -как раз в свое время -и изучаю доступные системы сборки. Казалось бы, ответ "Много, и все они ужасны".

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

  1. Поддержка С++ 11
  2. Кросс-платформенный (Linux в качестве основной цели, но также может работать как минимум на Windows)
  3. Достойная поддержка модульного тестирования
  4. Поддержка нескольких модулей для разделения кода
  5. Поддержка генерации кода (Использование asn1c или protobuf -Пока не уверен на 100%)
  6. Простота обслуживания

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

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

132
задан Graham 18 August 2012 в 09:48
поделиться