Commit eba2b13a authored by Brad King's avatar Brad King Committed by Kitware Robot

Merge topic 'msvc-link-non-english'

7e359823 MSVC: Preserve linker output encoding
b7e7718a MSVC: Fix manifest resource encoding
Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
Merge-request: !2261
parents 0077c8c2 7e359823
Pipeline #111853 passed with stage
in 0 seconds
......@@ -24,6 +24,7 @@
#if defined(CMAKE_BUILD_WITH_CMAKE) && defined(_WIN32)
# include "bindexplib.h"
# include "cmsys/ConsoleBuf.hxx"
#endif
#if defined(CMAKE_BUILD_WITH_CMAKE) && defined(_WIN32) && !defined(__CYGWIN__)
......@@ -1545,6 +1546,15 @@ private:
// still works.
int cmcmd::VisualStudioLink(std::vector<std::string> const& args, int type)
{
#if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE)
// Replace streambuf so we output in the system codepage. CMake is set up
// to output in Unicode (see SetUTF8Pipes) but the Visual Studio linker
// outputs using the system codepage so we need to change behavior when
// we run the link command.
cmsys::ConsoleBuf::Manager consoleOut(std::cout);
cmsys::ConsoleBuf::Manager consoleErr(std::cerr, true);
#endif
if (args.size() < 2) {
return -1;
}
......@@ -1775,6 +1785,8 @@ int cmVSLink::LinkIncremental()
if (!fout) {
return -1;
}
// Insert a pragma statement to specify utf-8 encoding.
fout << "#pragma code_page(65001)\n";
fout << this->Type
<< " /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ "
"24 /* RT_MANIFEST */ \""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment