diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-03-11 16:37:26 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-03-13 14:28:02 (GMT) |
commit | f6da044080d854b9ad87cef5c2a6f5195722a6da (patch) | |
tree | 9272911eaf9625896c75a8ccf0ad52560b0e6f48 /Source/cmGlobalUnixMakefileGenerator3.cxx | |
parent | 9ad804ac7be18efb92040434808f89174586b13d (diff) | |
download | CMake-f6da044080d854b9ad87cef5c2a6f5195722a6da.zip CMake-f6da044080d854b9ad87cef5c2a6f5195722a6da.tar.gz CMake-f6da044080d854b9ad87cef5c2a6f5195722a6da.tar.bz2 |
cmLocalGenerator: Add ComputeObjectFilenames interface.
Implement it in the local generators and use it in the global
generators.
Diffstat (limited to 'Source/cmGlobalUnixMakefileGenerator3.cxx')
-rw-r--r-- | Source/cmGlobalUnixMakefileGenerator3.cxx | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx index 6ce8678..91258ed 100644 --- a/Source/cmGlobalUnixMakefileGenerator3.cxx +++ b/Source/cmGlobalUnixMakefileGenerator3.cxx @@ -110,15 +110,20 @@ cmGlobalUnixMakefileGenerator3 { std::vector<cmSourceFile const*> objectSources; gt->GetObjectSources(objectSources); - // Compute the name of each object file. - for(std::vector<cmSourceFile const*>::iterator - si = objectSources.begin(); - si != objectSources.end(); ++si) + + 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) { - cmSourceFile const* sf = *si; - std::string objectName = gt->LocalGenerator - ->GetObjectFileNameWithoutTarget(*sf, gt->ObjectDirectory); - gt->AddObject(sf, objectName); + gt->AddObject(it->first, it->second); } } |