Make ShowIncludesFilter ignore execroot differences #6931
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #6847
This change is for making including scanning work on Windows for builds with remote caching or remote execution enabled.
After this change, the ShowIncludesFilter will look for the first
execroot\<workspace_name>
in the output header file paths, then it considersC:\...\execroot\<workspace_name>
as the execroot path. Because execroot path could be different if remote cache is hit, we ignore it and only add the relative path as dependencies.I'm quite unwilling to make this change, because parsing
execroot\\<workspace_name>
for execroot is not guaranteed to work always. But considering the only case this could go wrong is when people use an output base that already containsexecroot\\<workspace_name>
, which I think should never happen.