summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2007-05-28 13:59:08 (GMT)
committerBrad King <brad.king@kitware.com>2007-05-28 13:59:08 (GMT)
commitd2f62e6ac35a742a762ab6e493cdb4914e6ed1ab (patch)
tree767c7ec525b6777dbb6a300a73c8a717b2eaf0a6 /Source
parent00c9964a8c96e493a6d1d320a7b85f2b705e501c (diff)
downloadCMake-d2f62e6ac35a742a762ab6e493cdb4914e6ed1ab.zip
CMake-d2f62e6ac35a742a762ab6e493cdb4914e6ed1ab.tar.gz
CMake-d2f62e6ac35a742a762ab6e493cdb4914e6ed1ab.tar.bz2
ENH: Made cmTarget::GetSourceLists return a reference to const so that all additions of sources must go through access methods in cmTarget.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmFLTKWrapUICommand.cxx2
-rw-r--r--Source/cmMakefile.cxx8
-rw-r--r--Source/cmTarget.h7
3 files changed, 11 insertions, 6 deletions
diff --git a/Source/cmFLTKWrapUICommand.cxx b/Source/cmFLTKWrapUICommand.cxx
index d3d6f28..6b2d611 100644
--- a/Source/cmFLTKWrapUICommand.cxx
+++ b/Source/cmFLTKWrapUICommand.cxx
@@ -123,7 +123,7 @@ void cmFLTKWrapUICommand::FinalPass()
// people should add the srcs to the target themselves, but the old command
// didn't support that, so check and see if they added the files in and if
// they didn;t then print a warning and add then anyhow
- std::vector<std::string> srcs =
+ std::vector<std::string> const& srcs =
this->Makefile->GetTargets()[this->Target].GetSourceLists();
bool found = false;
for (unsigned int i = 0; i < srcs.size(); ++i)
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 001f13d..38b6d1f 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -766,7 +766,7 @@ cmMakefile::AddCustomCommandOldStyle(const char* target,
{
if (this->Targets.find(target) != this->Targets.end())
{
- this->Targets[target].GetSourceLists().push_back(source);
+ this->Targets[target].AddSourceListEntry(source);
}
else
{
@@ -848,7 +848,7 @@ void cmMakefile::AddUtilityCommand(const char* utilityName,
commandLines, comment,
workingDirectory, no_replace,
escapeOldStyle);
- target->GetSourceLists().push_back(force);
+ target->AddSourceListEntry(force.c_str());
// The output is not actually created so mark it symbolic.
if(cmSourceFile* sf = this->GetSource(force.c_str()))
@@ -1358,7 +1358,7 @@ void cmMakefile::AddLibrary(const char* lname, int shared,
{
target->SetProperty("EXCLUDE_FROM_ALL", "TRUE");
}
- target->GetSourceLists() = srcs;
+ target->SetSourceList(srcs);
this->AddGlobalLinkInformation(lname, *target);
}
@@ -1371,7 +1371,7 @@ cmTarget* cmMakefile::AddExecutable(const char *exeName,
{
target->SetProperty("EXCLUDE_FROM_ALL", "TRUE");
}
- target->GetSourceLists() = srcs;
+ target->SetSourceList(srcs);
this->AddGlobalLinkInformation(exeName, *target);
return target;
}
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 8bb8f9b..454c95d 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -76,7 +76,12 @@ public:
/**
* Get the list of the source lists used by this target
*/
- std::vector<std::string> &GetSourceLists() {return this->SourceLists;}
+ std::vector<std::string> const& GetSourceLists() {return this->SourceLists;}
+
+ void AddSourceListEntry(const char* src)
+ { this->SourceLists.push_back(src); }
+ void SetSourceList(std::vector<std::string> const& srcs)
+ { this->SourceLists = srcs; }
///! Return the list of frameworks being linked to this target
std::vector<std::string> &GetFrameworks() {return this->Frameworks;}