-
Notifications
You must be signed in to change notification settings - Fork 1
Troubleshooting
When building under UnrealBuildTool, changes to .clang-rules
files will trigger expected re-compilations in the following scenarios:
- Adding a
.clang-rules
file underneath a directory that UnrealBuildTool scans for new files, such asSource
. - Modifying an existing
.clang-rules
file that has previously been used in a build. - Deleting an existing
.clang-rules
file that has previously been used in a build.
UnrealBuildTool will not recompile files in the following scenario:
- Adding a
.clang-rules
file somewhere outside the hierarchy of folders it scans, such as above the Unreal Engine project or engine, or in external header directories.
The "dependency file" that Clang produces, and which UnrealBuildTool reads, does not support listing files that "do not exist but would influence the build if they did". Therefore, we can't notify UnrealBuildTool of .clang-rules
files that could influence the build if they were created. Listing non-existent files in the "dependency file" produced from Clang causes UnrealBuildTool to assume a dependency was deleted since the last build, so emitting non-existent .clang-rules
would cause all translation units to always require recompilation even if nothing changed.