В настоящее время я использую IDE, которая создает проекты на c ++ для нескольких платформ (win32, windows mobile, symbian и т. Д.). Эта IDE не хранит список зависимостей сборки и просто перестраивает весь проект каждый раз.
Это напрасно тратит наше время, что заставило нас задуматься о внедрении более умного процесса сборки:
Файлы cpp будут перекомпилированы, только если их даты изменения были обновлены или если заголовки, которые они включают (рекурсивно), были обновлены.
Я нашел Perl-скрипт cinclude2dot.pl, который выводит зависимости из каталога проекта. Этот вывод может использоваться graphviz для создания дерева зависимостей.
Проблемы заключаются в следующем: (а) этот скрипт ненадежен (он не анализирует комментарии "/ *"), и (б) он работает в одном каталоге, а наши заголовки и источники размещены в нескольких каталогах.
Мои вопросы:
1. Существует ли аналогичный скрипт / пакет / программа, который может выводить зависимости заголовка более эффективно?
2. Есть ли что-нибудь кроме изменения дат и включения зависимостей, которые я должен учитывать при кодировании "более умного" процесса сборки?
Будут и другие идеи!
спасибо!