Explorar o código

Fix for bug #11274, VS10 custom commands that create files in INTDIR fix.

Bill Hoffman %!s(int64=15) %!d(string=hai) anos
pai
achega
3d68dd230d
Modificáronse 1 ficheiros con 8 adicións e 0 borrados
  1. 8 0
      Source/cmMakefile.cxx

+ 8 - 0
Source/cmMakefile.cxx

@@ -894,6 +894,14 @@ cmMakefile::AddCustomCommandToOutput(const std::vector<std::string>& outputs,
     // Construct a rule file associated with the first output produced.
     std::string outName = outputs[0];
     outName += ".rule";
+    const char* dir =
+      this->LocalGenerator->GetGlobalGenerator()->
+      GetCMakeCFGInitDirectory();
+    if(dir && dir[0] == '$')
+      {
+      cmSystemTools::ReplaceString(outName, dir,
+                                   cmake::GetCMakeFilesDirectory());
+      }
     // Check if the rule file already exists.
     file = this->GetSource(outName.c_str());
     if(file && file->GetCustomCommand() && !replace)