[Request] Do not use existence of folders for build configuration

I recently had to downgrade from 4.6 to 4.5.1, due to a bug in 4.6 preview. 4.6 included a copy of the Steamworks SDK in ThirdParty/Steamworks/Steamv130. 4.5.1 doesn’t have this folder. When I downgraded, all the files from ThirdParty/Steamworks/Steamv130 were removed from my perforce depot, but the folders stayed. That’s just some bad quirk of perforce, to not clean up folders. When I built 4.5.1, UEBuildConfiguration.cs UEBuildConfiguration::PostReset checks if STeamv130 folder exists, and if it does, it will continue to build Steamworks integration. The problem is, the files don’t exist, just the folders. If the test instead looked for a file within the folder, it would have worked better.

Although p4 has this folder quirk, the same thing can happen without perforce. It just seems like a more reliable test if files were tested for instead of folders when setting up the build configuration.

Although I still agree with my original request, I have found an useful setting to help this issue. In your perforce workspace, set the option “rmdir”. This will remove empty folders, if a perforce action removes files.