Merge topic 'fix_long_filenames_vs2010'

945f2c2 With very long file names, VS 2010 was unable to compile files.
This commit is contained in:
Brad King 2011-03-31 13:23:23 -04:00 committed by CMake Topic Stage
commit ecc81cd353
1 changed files with 1 additions and 10 deletions

View File

@ -367,10 +367,7 @@ cmVisualStudio10TargetGenerator::WriteCustomRule(cmSourceFile* source,
static_cast<cmGlobalVisualStudio7Generator *> static_cast<cmGlobalVisualStudio7Generator *>
(this->GlobalGenerator)->GetConfigurations(); (this->GlobalGenerator)->GetConfigurations();
this->WriteString("<CustomBuild Include=\"", 2); this->WriteString("<CustomBuild Include=\"", 2);
std::string path = std::string path = sourcePath;
cmSystemTools::RelativePath(
this->Makefile->GetCurrentOutputDirectory(),
sourcePath.c_str());
this->ConvertToWindowsSlash(path); this->ConvertToWindowsSlash(path);
(*this->BuildFileStream ) << path << "\">\n"; (*this->BuildFileStream ) << path << "\">\n";
for(std::vector<std::string>::iterator i = configs->begin(); for(std::vector<std::string>::iterator i = configs->begin();
@ -609,9 +606,6 @@ WriteGroupSources(const char* name,
const char* filter = sourceGroup.GetFullName(); const char* filter = sourceGroup.GetFullName();
this->WriteString("<", 2); this->WriteString("<", 2);
std::string path = source; std::string path = source;
path = cmSystemTools::RelativePath(
this->Makefile->GetCurrentOutputDirectory(),
source.c_str());
this->ConvertToWindowsSlash(path); this->ConvertToWindowsSlash(path);
(*this->BuildFileStream) << name << " Include=\"" (*this->BuildFileStream) << name << " Include=\""
<< path; << path;
@ -685,9 +679,6 @@ void cmVisualStudio10TargetGenerator::WriteCLSources()
bool rc = lang && (strcmp(lang, "RC") == 0); bool rc = lang && (strcmp(lang, "RC") == 0);
bool idl = ext == "idl"; bool idl = ext == "idl";
std::string sourceFile = (*source)->GetFullPath(); std::string sourceFile = (*source)->GetFullPath();
sourceFile = cmSystemTools::RelativePath(
this->Makefile->GetCurrentOutputDirectory(),
sourceFile.c_str());
this->ConvertToWindowsSlash(sourceFile); this->ConvertToWindowsSlash(sourceFile);
// output the source file // output the source file
if(header) if(header)