Encoding: Write Visual Studio solution file with BOM.
When configured to use UTF-8 internally, add a UTF-8 BOM to generated .sln files for Visual Studio to correctly handle them. Otherwise, some versions of Visual Studio will read them as ANSI encoded files.
This commit is contained in:
parent
05105d5c13
commit
61cf781a62
@ -93,6 +93,11 @@ void cmGlobalVisualStudio71Generator
|
|||||||
cmLocalGenerator* root,
|
cmLocalGenerator* root,
|
||||||
std::vector<cmLocalGenerator*>& generators)
|
std::vector<cmLocalGenerator*>& generators)
|
||||||
{
|
{
|
||||||
|
#ifdef CMAKE_ENCODING_UTF8
|
||||||
|
// Add UTF-8 BOM for .sln file to indicate encoding
|
||||||
|
const unsigned char utf8_bom[3] = {0xEF,0xBB,0xBF};
|
||||||
|
fout.write(reinterpret_cast<const char*>(utf8_bom), 3);
|
||||||
|
#endif
|
||||||
// Write out the header for a SLN file
|
// Write out the header for a SLN file
|
||||||
this->WriteSLNHeader(fout);
|
this->WriteSLNHeader(fout);
|
||||||
|
|
||||||
|
@ -558,6 +558,11 @@ void cmGlobalVisualStudio7Generator
|
|||||||
cmLocalGenerator* root,
|
cmLocalGenerator* root,
|
||||||
std::vector<cmLocalGenerator*>& generators)
|
std::vector<cmLocalGenerator*>& generators)
|
||||||
{
|
{
|
||||||
|
#ifdef CMAKE_ENCODING_UTF8
|
||||||
|
// Add UTF-8 BOM for .sln file to indicate encoding
|
||||||
|
const unsigned char utf8_bom[3] = {0xEF,0xBB,0xBF};
|
||||||
|
fout.write(reinterpret_cast<const char*>(utf8_bom), 3);
|
||||||
|
#endif
|
||||||
// Write out the header for a SLN file
|
// Write out the header for a SLN file
|
||||||
this->WriteSLNHeader(fout);
|
this->WriteSLNHeader(fout);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user