| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "cmSourceFilesRequireRule.h"
- // cmSourceFilesRequireRule
- bool cmSourceFilesRequireRule::Invoke(std::vector<std::string>& args)
- {
- if(args.size() < 3 )
- {
- this->SetError("called with incorrect number of arguments");
- return false;
- }
- std::vector<std::string>::iterator i = args.begin();
- // Search to the key word SOURCES_BEGIN is found
- // if one of the required defines is not there, then
- // return as none of the source files will be added
- // if the required definition is not there.
- while(i != args.end() && (*i) != "SOURCES_BEGIN" )
- {
- if(!m_Makefile->GetDefinition((*i).c_str()))
- {
- return true;
- }
- i++;
- }
- if(i != args.end())
- {
- i++;
- }
-
- // Add the rest of the arguments as source files
- for(; i != args.end(); ++i)
- {
- cmClassFile file;
- file.m_AbstractClass = false;
- file.SetName((*i).c_str(), m_Makefile->GetCurrentDirectory());
- m_Makefile->AddClass(file);
- }
- return true;
- }
|