summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2001-06-13 17:49:24 (GMT)
committerKen Martin <ken.martin@kitware.com>2001-06-13 17:49:24 (GMT)
commit521e301116481f9f9396ee3fa13b8c1b87274d8c (patch)
treeeb1ff8a59eff9b23996aa09f348dab0ef8eb8154 /Source/cmTarget.cxx
parent03817a41cfc48707852e30d57f608f90d4f74427 (diff)
downloadCMake-521e301116481f9f9396ee3fa13b8c1b87274d8c.zip
CMake-521e301116481f9f9396ee3fa13b8c1b87274d8c.tar.gz
CMake-521e301116481f9f9396ee3fa13b8c1b87274d8c.tar.bz2
minor cvs web changeCMakeLists.txt
Diffstat (limited to 'Source/cmTarget.cxx')
-rw-r--r--Source/cmTarget.cxx36
1 files changed, 34 insertions, 2 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 2472b34..26e4ff3 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -61,7 +61,27 @@ void cmTarget::GenerateSourceFilesFromSourceLists(const cmMakefile &mf)
{
const std::vector<cmSourceFile> &clsList =
mf.GetSources().find(temps)->second;
- m_SourceFiles.insert(m_SourceFiles.end(), clsList.begin(), clsList.end());
+ // if we ahave a limited build list, use it
+ if (m_LimitedBuildList.empty())
+ {
+ m_SourceFiles.insert(m_SourceFiles.end(),
+ clsList.begin(),
+ clsList.end());
+ }
+ else
+ {
+ std::vector<cmSourceFile>::const_iterator si = clsList.begin();
+ for (; si != clsList.end(); ++si)
+ {
+ // is it on the approved list ?
+ if (std::find(m_LimitedBuildList.begin(),
+ m_LimitedBuildList.end(),
+ si->GetFullPath()) != m_LimitedBuildList.end())
+ {
+ m_SourceFiles.push_back(*si);
+ }
+ }
+ }
}
// if one wasn't found then assume it is a single class
else
@@ -69,7 +89,19 @@ void cmTarget::GenerateSourceFilesFromSourceLists(const cmMakefile &mf)
cmSourceFile file;
file.SetIsAnAbstractClass(false);
file.SetName(temps.c_str(), mf.GetCurrentDirectory());
- m_SourceFiles.push_back(file);
+ if (m_LimitedBuildList.empty())
+ {
+ m_SourceFiles.push_back(file);
+ }
+ else
+ {
+ if (std::find(m_LimitedBuildList.begin(),
+ m_LimitedBuildList.end(),
+ file.GetFullPath()) != m_LimitedBuildList.end())
+ {
+ m_SourceFiles.push_back(file);
+ }
+ }
}
}