diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx index db4a4d6a3..3e1fc2d54 100644 --- a/Source/cmMacroCommand.cxx +++ b/Source/cmMacroCommand.cxx @@ -235,14 +235,20 @@ bool cmMacroHelperCommand::InvokeInitialPass } if(!this->Makefile->ExecuteCommand(newLFF)) { - const char* filePath = args[0].FilePath; - if(!filePath) + cmListFileArgument arg; + if(args.size()) { - filePath = "Unknown"; + arg.FilePath = args[0].FilePath; + arg.Line = args[0].Line; + } + else + { + arg.FilePath = "Unknown"; + arg.Line = 0; } cmOStringStream error; error << "Error in cmake code at\n" - << filePath << ":" << args[0].Line << ":\n" + << arg.FilePath << ":" << arg.Line << ":\n" << "A command failed during the invocation of macro \"" << this->Args[0].c_str() << "\"."; cmSystemTools::Error(error.str().c_str());