Browse Source

ENH: fixed more bugs with spaces in the path

Ken Martin 18 years ago
parent
commit
e7ab8a0e1d

+ 2 - 1
Source/cmLocalUnixMakefileGenerator3.cxx

@@ -421,6 +421,7 @@ void cmLocalUnixMakefileGenerator3
       // Add a fast rule to build the target
       // Add a fast rule to build the target
       std::string makefileName = this->GetRelativeTargetDirectory(t->second);
       std::string makefileName = this->GetRelativeTargetDirectory(t->second);
       makefileName += "/build.make";
       makefileName += "/build.make";
+      // make sure the makefile name is suitable for a makefile
       std::string makeTargetName = 
       std::string makeTargetName = 
         this->GetRelativeTargetDirectory(t->second);
         this->GetRelativeTargetDirectory(t->second);
       makeTargetName += "/build";
       makeTargetName += "/build";
@@ -1742,7 +1743,7 @@ cmLocalUnixMakefileGenerator3
   // Call make on the given file.
   // Call make on the given file.
   std::string cmd;
   std::string cmd;
   cmd += "$(MAKE) -f ";
   cmd += "$(MAKE) -f ";
-  cmd += makefile;
+  cmd += this->Convert(makefile,NONE,MAKEFILE);
   cmd += " ";
   cmd += " ";
   
   
   // Passg down verbosity level.
   // Passg down verbosity level.

+ 5 - 1
Source/cmMakefileTargetGenerator.cxx

@@ -490,7 +490,11 @@ cmMakefileTargetGenerator
   vars.Language = lang;
   vars.Language = lang;
   vars.TargetPDB = targetOutPathPDB.c_str();
   vars.TargetPDB = targetOutPathPDB.c_str();
   vars.Source = sourceFile.c_str();
   vars.Source = sourceFile.c_str();
-  vars.Object = relativeObj.c_str();
+  std::string shellrelativeObj = 
+    this->Convert(relativeObj.c_str(), 
+                  cmLocalGenerator::NONE, 
+                  cmLocalGenerator::SHELL).c_str();
+  vars.Object = shellrelativeObj.c_str();
   std::string objdir = this->LocalGenerator->GetHomeRelativeOutputPath();
   std::string objdir = this->LocalGenerator->GetHomeRelativeOutputPath();
   objdir = this->Convert(objdir.c_str(),
   objdir = this->Convert(objdir.c_str(),
                          cmLocalGenerator::START_OUTPUT,
                          cmLocalGenerator::START_OUTPUT,