Summary
In 5.8 changes to third-party static libraries do not always trigger a rebuild of libraries that depend on them.
This seems to be due to commit 24dccd7470bb (changelist 45674266): ActionGraph.IsImportLibraryDependency(LinkedAction, FileItem) always returns true whenever the prerequisite is a library file and the link action has any prerequisite action producing an import library. Because that is the normal case for every module in an editor build, UBT skips the timestamp check for all .lib prerequisites. A third-party static library that is rebuilt out-of-band never triggers a relink.
What Type of Bug are you experiencing?
Foundation (C++ Tools, Profiling, & Pipeline)
Steps to Reproduce
- Build UnrealEditor
- Touch Engine/Source/ThirdParty/zlib/1.3/lib/Win64/Release/zlibstatic.lib
- Build again
Expected Result
The second build should relink a number of modules including UnrealEditor-Core.dll.
Observed Result
The build doesn’t do any significant work.
Affects Versions
5.8
Platform(s)
Android
iOS
Linux
Mac
OpenXR
visionOS
Windows