ENH: better error checking for add library or executable with no source files

This commit is contained in:
Ken Martin 2005-06-08 16:39:29 -04:00
parent 4ff9d1eae3
commit cc6170c494
2 changed files with 14 additions and 1 deletions

View File

@ -49,6 +49,12 @@ bool cmAddExecutableCommand::InitialPass(std::vector<std::string> const& args)
} }
} }
if (s == args.end())
{
this->SetError("called with incorrect number of arguments, no sources provided");
return false;
}
std::vector<std::string> srclists(s, args.end()); std::vector<std::string> srclists(s, args.end());
cmTarget* tgt = m_Makefile->AddExecutable(exename.c_str(), srclists); cmTarget* tgt = m_Makefile->AddExecutable(exename.c_str(), srclists);
if ( use_win32 ) if ( use_win32 )

View File

@ -26,7 +26,8 @@ bool cmAddLibraryCommand::InitialPass(std::vector<std::string> const& args)
} }
// Library type defaults to value of BUILD_SHARED_LIBS, if it exists, // Library type defaults to value of BUILD_SHARED_LIBS, if it exists,
// otherwise it defaults to static library. // otherwise it defaults to static library.
int shared = !cmSystemTools::IsOff(m_Makefile->GetDefinition("BUILD_SHARED_LIBS")); int shared =
!cmSystemTools::IsOff(m_Makefile->GetDefinition("BUILD_SHARED_LIBS"));
std::vector<std::string>::const_iterator s = args.begin(); std::vector<std::string>::const_iterator s = args.begin();
@ -57,6 +58,12 @@ bool cmAddLibraryCommand::InitialPass(std::vector<std::string> const& args)
} }
} }
if (s == args.end())
{
this->SetError("called with incorrect number of arguments, no sources provided");
return false;
}
std::vector<std::string> srclists; std::vector<std::string> srclists;
while (s != args.end()) while (s != args.end())
{ {