summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2001-06-13 13:49:24 -0400
committerKen Martin <ken.martin@kitware.com>2001-06-13 13:49:24 -0400
commit521e301116481f9f9396ee3fa13b8c1b87274d8c (patch)
treeeb1ff8a59eff9b23996aa09f348dab0ef8eb8154
parent03817a41cfc48707852e30d57f608f90d4f74427 (diff)
downloadcmake-521e301116481f9f9396ee3fa13b8c1b87274d8c.tar.gz
minor cvs web changeCMakeLists.txt
-rw-r--r--CMakeLists.txt2
-rw-r--r--Source/cmTarget.cxx36
-rw-r--r--Source/cmTarget.h9
3 files changed, 45 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8e95ecf750..bb0a2fe461 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,8 @@ IF (BUILD_TESTING)
# Dart server configuration
SET (CVS_WEB_URL "http://${DROP_SITE}/cgi-bin/cmakecvsweb.cgi/CMake/"
CACHE INTERNAL "URL for revision control system")
+ SET (CVS_WEB_CVSROOT "CMake" CACHE INTERNAL
+ "Symbolic name for the CVSROOT in cvsweb")
SET (DOXYGEN_URL "http://${DROP_SITE}/CMake/Doxygen/html/"
CACHE INTERNAL "URL for source code documentation")
SET (GNATS_WEB_URL "http://${DROP_SITE}/cgi-bin/gnatsweb.pl/CMake/"
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 2472b34d78..26e4ff36ce 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);
+ }
+ }
}
}
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 89068edda2..50d81d75ca 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -87,6 +87,13 @@ public:
std::vector<std::string> &GetSourceLists() {return m_SourceLists;}
/**
+ * Get the list of the source lists used by this target
+ */
+ const std::vector<std::string> &GetLimitedBuildList() const
+ {return m_LimitedBuildList;}
+ std::vector<std::string> &GetLimitedBuildList() {return m_LimitedBuildList;}
+
+ /**
* Get the list of the source files used by this target
*/
const std::vector<cmSourceFile> &GetSourceFiles() const
@@ -126,7 +133,9 @@ public:
void AddUtility(const char* u) { m_Utilities.insert(u);}
///! Get the utilities used by this target
std::set<std::string>const& GetUtilities() const { return m_Utilities; }
+
private:
+ std::vector<std::string> m_LimitedBuildList;
std::vector<cmCustomCommand> m_CustomCommands;
std::vector<std::string> m_SourceLists;
TargetType m_TargetType;