Skip to content

MSVC: Fix encoding during linking on non-English Windows environments

When using the Ninja generator on a Windows machine for a non-English OS cmake cache generation will fail. This is because it invokes the VS resource compiler (rc.exe) through the cmake command vs_link_exe or vs_link_dll. The CMake command implementation writes .rc files in utf-8 format but needed to insert a pragma statement statement at the top to let rc.exe know the file is utf-8 encoded.

The output from link.exe was also garbled because CMake sets utf-8 pipes but when calling link.exe should be using pipes in the console code page.

Topic-rename: msvc-link-non-english

Edited by Brad King

Merge request reports