Jelajahi Sumber

BUG: make sure OBJECT_DIR is in the path of the SHELL

Bill Hoffman 17 tahun lalu
induk
melakukan
b0256fbe1c

+ 4 - 1
Source/cmMakefileLibraryTargetGenerator.cxx

@@ -724,7 +724,10 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
   std::string objdir = cmake::GetCMakeFilesDirectoryPostSlash();
   objdir += this->Target->GetName();
   objdir += ".dir";
-  vars.ObjectDir = objdir.c_str(); 
+  objdir = this->Convert(objdir.c_str(),
+                         cmLocalGenerator::START_OUTPUT,
+                         cmLocalGenerator::SHELL);
+  vars.ObjectDir = objdir.c_str();
   vars.Target = targetOutPathReal.c_str();
   std::string linkString = linklibs.str();
   vars.LinkLibraries = linkString.c_str();

+ 3 - 0
Source/cmMakefileTargetGenerator.cxx

@@ -614,6 +614,9 @@ cmMakefileTargetGenerator
                   cmLocalGenerator::SHELL).c_str();
   vars.Object = shellObj.c_str();
   std::string objectDir = cmSystemTools::GetFilenamePath(obj);
+  objectDir = this->Convert(objectDir.c_str(),
+                            cmLocalGenerator::START_OUTPUT,
+                            cmLocalGenerator::SHELL);
   vars.ObjectDir = objectDir.c_str();
   vars.Flags = flags.c_str();
   vars.Defines = defines.c_str();