Jelajahi Sumber

cmMacroCommand: Store the FilePath when creating the prototype.

Instead of setting it each time the macro is invoked.
Stephen Kelly 10 tahun lalu
induk
melakukan
f971ab04cf
1 mengubah file dengan 1 tambahan dan 4 penghapusan
  1. 1 4
      Source/cmMacroCommand.cxx

+ 1 - 4
Source/cmMacroCommand.cxx

@@ -122,10 +122,6 @@ bool cmMacroHelperCommand::InvokeInitialPass
     sprintf(argvName,"${ARGV%i}",j);
     argVs.push_back(argvName);
     }
-  if(!this->Functions.empty())
-    {
-    this->FilePath = this->Functions[0].FilePath;
-    }
   // Invoke all the functions that were collected in the block.
   cmListFileFunction newLFF;
   // for each function
@@ -225,6 +221,7 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf,
       cmMacroHelperCommand *f = new cmMacroHelperCommand();
       f->Args = this->Args;
       f->Functions = this->Functions;
+      f->FilePath = this->GetStartingContext().FilePath;
       mf.RecordPolicies(f->Policies);
       std::string newName = "_" + this->Args[0];
       mf.GetState()->RenameCommand(this->Args[0], newName);