diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2002-03-29 15:06:30 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2002-03-29 15:06:30 (GMT) |
commit | 8b3b49a010219eeba327d882e1fe38f721b6bed8 (patch) | |
tree | 095e639d4828f7a0e4e905c1f14d5fe32369e923 /Source/cmAbstractFilesCommand.cxx | |
parent | 627ab62ce093d8f50ed0ba50a1dd1081165b19f1 (diff) | |
download | CMake-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.cxx | 30 |
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; } |