VS: Use StdOutEncoding for VS 16.7 Preview 3 and above
VS 16.6 added a StdOutEncoding
setting for custom commands to tell MSBuild that the output is encoded as UTF-8. In !4587 (merged) CMake learned to add the setting in anticipation of the VS 16.6 release. However, when 16.6 was released it had a bug in the implementation of custom tasks with StdOutEncoding enabled that was exposed by our test suite. In !4820 (merged) we disabled the setting pending investigation.
The problem is fixed in VS 16.7 Preview 3, so restore use of the setting when a VS instance of at least that version is detected.
Fixes: #20769 (closed)
Edited by Brad King