summaryrefslogtreecommitdiffstats
path: root/Source/cmAbstractFilesCommand.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2002-03-29 15:06:30 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2002-03-29 15:06:30 (GMT)
commit8b3b49a010219eeba327d882e1fe38f721b6bed8 (patch)
tree095e639d4828f7a0e4e905c1f14d5fe32369e923 /Source/cmAbstractFilesCommand.cxx
parent627ab62ce093d8f50ed0ba50a1dd1081165b19f1 (diff)
downloadCMake-8b3b49a010219eeba327d882e1fe38f721b6bed8.zip
CMake-8b3b49a010219eeba327d882e1fe38f721b6bed8.tar.gz
CMake-8b3b49a010219eeba327d882e1fe38f721b6bed8.tar.bz2
ENH: major change, the cmMakefile now contains a master list of cmSourceFile objects, the source lists reference the list via pointers, also you can now set properties on a file, like compile flags, abstract, etc.
Diffstat (limited to 'Source/cmAbstractFilesCommand.cxx')
-rw-r--r--Source/cmAbstractFilesCommand.cxx30
1 files changed, 18 insertions, 12 deletions
diff --git a/Source/cmAbstractFilesCommand.cxx b/Source/cmAbstractFilesCommand.cxx
index 9c43968..32a6237 100644
--- a/Source/cmAbstractFilesCommand.cxx
+++ b/Source/cmAbstractFilesCommand.cxx
@@ -24,23 +24,29 @@ bool cmAbstractFilesCommand::InitialPass(std::vector<std::string> const& args)
this->SetError("called with incorrect number of arguments");
return false;
}
+ bool ret = true;
+ std::string m = "could not find source file(s):\n";
+
cmMakefile::SourceMap &Classes = m_Makefile->GetSources();
for(std::vector<std::string>::const_iterator j = args.begin();
j != args.end(); ++j)
- {
- for(cmMakefile::SourceMap::iterator l = Classes.begin();
- l != Classes.end(); l++)
+ {
+ cmSourceFile* sf = m_Makefile->GetSource(j->c_str());
+ if(sf)
{
- for(std::vector<cmSourceFile>::iterator i = l->second.begin();
- i != l->second.end(); i++)
- {
- if(i->GetSourceName() == (*j))
- {
- i->SetIsAnAbstractClass(true);
- }
- }
+ sf->SetIsAnAbstractClass(true);
}
+ else
+ {
+ m += *j;
+ m += "\n";
+ ret = false;
+ }
+ }
+ if(!ret)
+ {
+ this->SetError(m.c_str());
}
- return true;
+ return ret;
}