diff --git a/Source/cmFunctionCommand.cxx b/Source/cmFunctionCommand.cxx index b05642e3d..b2265746a 100644 --- a/Source/cmFunctionCommand.cxx +++ b/Source/cmFunctionCommand.cxx @@ -112,15 +112,19 @@ bool cmFunctionHelperCommand::InvokeInitialPass // set the value of argc cmOStringStream strStream; strStream << expandedArgs.size(); + this->Makefile->MarkVariableAsUsed("ARGC"); this->Makefile->AddDefinition("ARGC",strStream.str().c_str()); + this->Makefile->MarkVariableAsUsed("ARGC"); // set the values for ARGV0 ARGV1 ... for (unsigned int t = 0; t < expandedArgs.size(); ++t) { cmOStringStream tmpStream; tmpStream << "ARGV" << t; + this->Makefile->MarkVariableAsUsed(tmpStream.str().c_str()); this->Makefile->AddDefinition(tmpStream.str().c_str(), expandedArgs[t].c_str()); + this->Makefile->MarkVariableAsUsed(tmpStream.str().c_str()); } // define the formal arguments @@ -152,8 +156,12 @@ bool cmFunctionHelperCommand::InvokeInitialPass } cnt ++; } + this->Makefile->MarkVariableAsUsed("ARGV"); this->Makefile->AddDefinition("ARGV", argvDef.c_str()); + this->Makefile->MarkVariableAsUsed("ARGV"); + this->Makefile->MarkVariableAsUsed("ARGN"); this->Makefile->AddDefinition("ARGN", argnDef.c_str()); + this->Makefile->MarkVariableAsUsed("ARGN"); // Invoke all the functions that were collected in the block. // for each function