Есть ли способ ограничить файлы заголовков, которые Boost.Build рекурсивно сканирует для директив #include в определенном каталоге или наборе каталогов? То есть Я бы хотел, чтобы он рекурсивно просматривал файлы заголовков только в моем проекте. Я знаю, что внешние зависимости не изменятся (и, будучи Boost и Qt, они довольно большие). В итоге я получаю около 50 000 целей в дереве зависимостей, которые требуют времени для обработки (в результате получается 1-2-минутное время сборки, даже если файлы фактически не изменились).Есть ли способ предотвратить Boost.Build из рекурсивного сканирования файлов заголовков для директив #include?
Единственное решение, которое я нашел до сих пор, заключается в том, чтобы использовать переменную среды INCLUDE (я использую MSVC) - это значит, что Boost.Build не нужно информировать о путях include (я использую эту функцию) и, следовательно, не будет сканировать их. Это кажется немного взломанным.
Я чувствую, что мне, должно быть, недостает чего-то очевидного, потому что я не мог найти других людей, испытывающих подобные проблемы, хотя я столкнулся с этим почти сразу. Ближайший я пришел here.
Судя по выходному отладку (bjam -d 3), он также просматривает большинство файлов заголовков более одного раза ... Я не знаю, означает ли это, что они добавляются как зависимости более одного раза, но, безусловно, стоимость загрузки файла и сканирование всего содержимого должны складываться?
Если бы я мог сказать, что он не должен проверять конкретный каталог или набор каталогов, в которых я могу гарантировать, что файлы заголовков не будут меняться, это было бы идеально.
Спасибо за ответ! Да, есть много других систем сборки, которые можно выбрать, однако моя проблема не в том, чтобы использовать систему _which_ build, но что я пропустил в своем понимании Boost.Build. –