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