Boost.Buildが#includeディレクティブを再帰的にスキャンするヘッダファイルを特定のディレクトリまたはディレクトリセットに限定する方法はありますか?私。私は再帰的に私のプロジェクト内のヘッダーファイルをスキャンしたいです。私は彼らが外部の依存関係は変更されないことを知っています(BoostとQtはかなり大きいです)。依存関係ツリーには約50,000のターゲットがあり、処理に時間がかかります(実際にファイルが変更されていなくても1〜2分のビルド時間になります)。Boost.Buildが#includeディレクティブのヘッダファイルを再帰的にスキャンしないようにする方法はありますか?
私が今までに見つけた唯一の解決策は、INCLUDE環境変数(私はMSVCを使用しています)を利用することです - これはBoost.Buildがインクルードパスを知らせる必要がないことを意味します)、スキャンされません。これは少しハックのようです。
私はすぐにこれに遭遇したにもかかわらず、私は同じような問題を経験している他の人々を見つけることができなかったので、私は何かが明らかに欠けているに違いないように感じます。私が一番近いのはhereです。
デバッグ出力(bjam -d 3)から判断すると、ほとんどのヘッダーファイルも2回以上スキャンされます...これは、依存関係として2回以上追加されていることを意味するのかどうかはわかりませんが、ファイルを読み込んで内容全体をスキャンするコストが足りなければなりませんか?
私は、ヘッダーファイルが変更されないことを保証できる特定のディレクトリまたはディレクトリのセットをスキャンすることを邪魔しないと言うことができれば、それは完璧なものになります。
ありがとうございました!しかし、私の問題は、システムを構築するのではなく、Boost.Buildの理解に欠けていたものです。 –