Я ищу хорошую и удобную в обслуживании портативную систему сборки для проектов на С++. Основные платформы должны включать Windows (Visual Studio 8+) и Linux (gcc); Cygwin может быть преимуществом. Мы рассматриваем две основные возможности: CMake и Boost.Jam. Скотты могут быть и вариантом, но я еще не исследовал его. CMake и Boost.Jam, похоже, имеют следующие черты:
CMake
- (+) создает собственный "makefile" (решение для Windows, проект для Eclipse)
- (+) расширения для тестирования и упаковки
- (-) требует файла конфигурации в каждой папке проекта
- (-), основанный на немного слишком многословном языке
Boost.Jam:
- создается самостоятельно без промежуточных шагов
- (-) не генерирует собственные решения/проекты
- (+) лаконичный язык, похожий на классический makefile
- (+) интуитивная поддержка свойств, таких как многопоточность и статическая/динамическая библиотека.
Каковы другие возможности и что действительно предпочтительнее после опыта? Какие системы сборки могут создать решение на этом пути?