diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-03-11 19:39:01 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-03-15 08:30:24 (GMT) |
commit | 6c9dd0ec7b1e000b0bedd567fa52074671d639c9 (patch) | |
tree | 14b2d74ea54cd9008f9db0a564f1cb7720a4c491 /Source/cmGlobalGenerator.cxx | |
parent | c481fadc07e72193f16a4f1fb9d477db133f1120 (diff) | |
download | CMake-6c9dd0ec7b1e000b0bedd567fa52074671d639c9.zip CMake-6c9dd0ec7b1e000b0bedd567fa52074671d639c9.tar.gz CMake-6c9dd0ec7b1e000b0bedd567fa52074671d639c9.tar.bz2 |
cmGlobalGenerator: Make ComputeTargetObjects non-virtual
Implement it in terms of the ComputeObjectFilenames virtual method
on the local generators.
Remove the reimplementation from the global generators which are
now all functionally identical.
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index c9ae799..5b6d729 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1516,9 +1516,26 @@ cmGlobalGenerator::GetGeneratorTarget(cmTarget const* t) const } //---------------------------------------------------------------------------- -void cmGlobalGenerator::ComputeTargetObjects(cmGeneratorTarget*) const +void cmGlobalGenerator::ComputeTargetObjects(cmGeneratorTarget* gt) const { - // Implemented in generator subclasses that need this. + std::vector<cmSourceFile const*> objectSources; + gt->GetObjectSources(objectSources); + + std::map<cmSourceFile const*, std::string> mapping; + for(std::vector<cmSourceFile const*>::const_iterator it + = objectSources.begin(); it != objectSources.end(); ++it) + { + mapping[*it]; + } + + gt->LocalGenerator->ComputeObjectFilenames(mapping, gt); + + for(std::map<cmSourceFile const*, std::string>::const_iterator it + = mapping.begin(); it != mapping.end(); ++it) + { + assert(!it->second.empty()); + gt->AddObject(it->first, it->second); + } } //---------------------------------------------------------------------------- |