summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudioGenerator.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-11-10 10:22:44 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-01-09 18:38:07 (GMT)
commit38de54cf6f3daae70792fae1bf26b97bccc78de4 (patch)
treeb8499bdf53aef7b2d98a9be50949e79566224b65 /Source/cmGlobalVisualStudioGenerator.cxx
parentf579fe0d7a102df0c69c957d48e3e728333dffe1 (diff)
downloadCMake-38de54cf6f3daae70792fae1bf26b97bccc78de4.zip
CMake-38de54cf6f3daae70792fae1bf26b97bccc78de4.tar.gz
CMake-38de54cf6f3daae70792fae1bf26b97bccc78de4.tar.bz2
cmGeneratorTarget: Add methods to access source file groups.
These methods and others will be able to get a config parameter later to implement the INTERFACE_SOURCES feature.
Diffstat (limited to 'Source/cmGlobalVisualStudioGenerator.cxx')
-rw-r--r--Source/cmGlobalVisualStudioGenerator.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index 93a597c..42492e6 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -129,9 +129,11 @@ cmGlobalVisualStudioGenerator
// Count the number of object files with each name. Note that
// windows file names are not case sensitive.
std::map<cmStdString, int> counts;
+ std::vector<cmSourceFile*> objectSources;
+ gt->GetObjectSources(objectSources);
for(std::vector<cmSourceFile*>::const_iterator
- si = gt->ObjectSources.begin();
- si != gt->ObjectSources.end(); ++si)
+ si = objectSources.begin();
+ si != objectSources.end(); ++si)
{
cmSourceFile* sf = *si;
std::string objectNameLower = cmSystemTools::LowerCase(
@@ -143,8 +145,8 @@ cmGlobalVisualStudioGenerator
// For all source files producing duplicate names we need unique
// object name computation.
for(std::vector<cmSourceFile*>::const_iterator
- si = gt->ObjectSources.begin();
- si != gt->ObjectSources.end(); ++si)
+ si = objectSources.begin();
+ si != objectSources.end(); ++si)
{
cmSourceFile* sf = *si;
std::string objectName =
@@ -152,10 +154,10 @@ cmGlobalVisualStudioGenerator
objectName += ".obj";
if(counts[cmSystemTools::LowerCase(objectName)] > 1)
{
- gt->ExplicitObjectName.insert(sf);
+ gt->AddExplicitObjectName(sf);
objectName = lg->GetObjectFileNameWithoutTarget(*sf, dir_max);
}
- gt->Objects[sf] = objectName;
+ gt->AddObject(sf, objectName);
}
std::string dir = gt->Makefile->GetCurrentOutputDirectory();