From f0c79a00309da0e3709284fa8d1de486b07a1c71 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 10 Oct 2006 13:47:50 -0400 Subject: [PATCH] BUG: Avoid duplicate conversion to output path. --- Source/cmGlobalUnixMakefileGenerator3.cxx | 6 ------ Source/cmLocalUnixMakefileGenerator3.cxx | 25 ++++++++++++----------- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx index e75c7f47f..30771b980 100644 --- a/Source/cmGlobalUnixMakefileGenerator3.cxx +++ b/Source/cmGlobalUnixMakefileGenerator3.cxx @@ -464,9 +464,6 @@ cmGlobalUnixMakefileGenerator3 std::string makeTarget = lg->GetMakefile()->GetStartOutputDirectory(); makeTarget += "/"; makeTarget += pass; - makeTarget = lg->Convert(makeTarget.c_str(), - cmLocalGenerator::HOME_OUTPUT, - cmLocalGenerator::MAKEFILE); // The directory-level rule should depend on the target-level rules // for all targets in the directory. @@ -502,9 +499,6 @@ cmGlobalUnixMakefileGenerator3 std::string subdir = slg->GetMakefile()->GetStartOutputDirectory(); subdir += "/"; subdir += pass; - subdir = slg->Convert(subdir.c_str(), - cmLocalGenerator::HOME_OUTPUT, - cmLocalGenerator::MAKEFILE); depends.push_back(subdir); } diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx index db5d0117a..34fbc26b5 100644 --- a/Source/cmLocalUnixMakefileGenerator3.cxx +++ b/Source/cmLocalUnixMakefileGenerator3.cxx @@ -1465,10 +1465,11 @@ void cmLocalUnixMakefileGenerator3 std::vector commands; // Write the all rule. - std::string dir = this->Makefile->GetStartOutputDirectory(); - dir += "/all"; + std::string dir; + std::string recursiveTarget = this->Makefile->GetStartOutputDirectory(); + recursiveTarget += "/all"; - dir = this->Convert(dir.c_str(),HOME_OUTPUT,MAKEFILE); + dir = this->Convert(recursiveTarget.c_str(),HOME_OUTPUT,MAKEFILE); depends.push_back("cmake_check_build_system"); @@ -1487,7 +1488,7 @@ void cmLocalUnixMakefileGenerator3 std::string mf2Dir = cmake::GetCMakeFilesDirectoryPostSlash(); mf2Dir += "Makefile2"; commands.push_back(this->GetRecursiveMakeCall(mf2Dir.c_str(), - dir.c_str())); + recursiveTarget.c_str())); this->CreateCDCommand(commands, this->Makefile->GetHomeOutputDirectory(), this->Makefile->GetStartOutputDirectory()); @@ -1504,13 +1505,13 @@ void cmLocalUnixMakefileGenerator3 depends, commands, true); // Write the clean rule. - dir = this->Makefile->GetStartOutputDirectory(); - dir += "/clean"; - dir = this->Convert(dir.c_str(),HOME_OUTPUT,MAKEFILE); + recursiveTarget = this->Makefile->GetStartOutputDirectory(); + recursiveTarget += "/clean"; + dir = this->Convert(recursiveTarget.c_str(),HOME_OUTPUT,MAKEFILE); commands.clear(); depends.clear(); commands.push_back(this->GetRecursiveMakeCall(mf2Dir.c_str(), - dir.c_str())); + recursiveTarget.c_str())); this->CreateCDCommand(commands, this->Makefile->GetHomeOutputDirectory(), this->Makefile->GetStartOutputDirectory()); @@ -1523,9 +1524,9 @@ void cmLocalUnixMakefileGenerator3 depends, commands, true); // Write the preinstall rule. - dir = this->Makefile->GetStartOutputDirectory(); - dir += "/preinstall"; - dir = this->Convert(dir.c_str(), HOME_OUTPUT,MAKEFILE); + recursiveTarget = this->Makefile->GetStartOutputDirectory(); + recursiveTarget += "/preinstall"; + dir = this->Convert(recursiveTarget.c_str(), HOME_OUTPUT,MAKEFILE); commands.clear(); depends.clear(); const char* noall = @@ -1541,7 +1542,7 @@ void cmLocalUnixMakefileGenerator3 depends.push_back("cmake_check_build_system"); } commands.push_back - (this->GetRecursiveMakeCall(mf2Dir.c_str(), dir.c_str())); + (this->GetRecursiveMakeCall(mf2Dir.c_str(), recursiveTarget.c_str())); this->CreateCDCommand(commands, this->Makefile->GetHomeOutputDirectory(), this->Makefile->GetStartOutputDirectory());