BUG: Fix for spaces in path to build directory with new progress stuff.

This commit is contained in:
Brad King 2006-05-23 09:58:10 -04:00
parent 50d058a3a1
commit 15535c3f60
3 changed files with 32 additions and 16 deletions

View File

@ -699,11 +699,15 @@ cmGlobalUnixMakefileGenerator3
// Write the rule.
commands.clear();
std::string progressDir =
lg->GetMakefile()->GetHomeOutputDirectory();
progressDir += "/CMakeFiles";
cmOStringStream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_start ";
progCmd << lg->GetMakefile()->GetHomeOutputDirectory();
progCmd << "/CMakeFiles ";
progCmd <<
progCmd << lg->Convert(progressDir.c_str(),
cmLocalGenerator::FULL,
cmLocalGenerator::SHELL);
progCmd << " " <<
(100*this->GetTargetTotalNumberOfSourceFiles(t->second))/
this->GetNumberOfSourceFiles();
commands.push_back(progCmd.str());
@ -824,10 +828,15 @@ cmGlobalUnixMakefileGenerator3
localName += "/all";
depends.clear();
std::string progressDir =
lg->GetMakefile()->GetHomeOutputDirectory();
progressDir += "/CMakeFiles";
cmOStringStream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_report ";
progCmd << lg->GetMakefile()->GetHomeOutputDirectory();
progCmd << "/CMakeFiles ";
progCmd << lg->Convert(progressDir.c_str(),
cmLocalGenerator::FULL,
cmLocalGenerator::SHELL);
progCmd << " ";
std::vector<int> &progFiles = lg->ProgressFiles[t->first];
for (std::vector<int>::iterator i = progFiles.begin();
i != progFiles.end(); ++i)

View File

@ -1410,12 +1410,14 @@ void cmLocalUnixMakefileGenerator3
if (!this->Parent)
{
cmGlobalUnixMakefileGenerator3 *gg =
static_cast<cmGlobalUnixMakefileGenerator3*>(this->GlobalGenerator);
std::string progressDir = this->Makefile->GetHomeOutputDirectory();
progressDir += "/CMakeFiles";
cmOStringStream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_start ";
progCmd << this->Makefile->GetHomeOutputDirectory();
progCmd << "/CMakeFiles 100";
progCmd << this->Convert(progressDir.c_str(),
cmLocalGenerator::FULL,
cmLocalGenerator::SHELL);
progCmd << " 100";
commands.push_back(progCmd.str());
}
@ -1426,12 +1428,14 @@ void cmLocalUnixMakefileGenerator3
this->Makefile->GetStartOutputDirectory());
if (!this->Parent)
{
cmGlobalUnixMakefileGenerator3 *gg =
static_cast<cmGlobalUnixMakefileGenerator3*>(this->GlobalGenerator);
std::string progressDir = this->Makefile->GetHomeOutputDirectory();
progressDir += "/CMakeFiles";
cmOStringStream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_start ";
progCmd << this->Makefile->GetHomeOutputDirectory();
progCmd << "/CMakeFiles 0";
progCmd << this->Convert(progressDir.c_str(),
cmLocalGenerator::FULL,
cmLocalGenerator::SHELL);
progCmd << " 0";
commands.push_back(progCmd.str());
}
this->WriteMakeRule(ruleFileStream, "The main all target", "all",

View File

@ -387,11 +387,14 @@ cmMakefileTargetGenerator
int prog = gg->ShouldAddProgressRule();
if (prog)
{
std::string progressDir = this->Makefile->GetHomeOutputDirectory();
progressDir += "/CMakeFiles";
cmOStringStream progCmd;
progCmd << "$(CMAKE_COMMAND) -E cmake_progress_report ";
progCmd << this->Makefile->GetHomeOutputDirectory();
progCmd << "/CMakeFiles ";
progCmd << prog;
progCmd << this->LocalGenerator->Convert(progressDir.c_str(),
cmLocalGenerator::FULL,
cmLocalGenerator::SHELL);
progCmd << " " << prog;
commands.push_back(progCmd.str());
this->LocalGenerator->ProgressFiles[this->Target->GetName()].
push_back(prog);