diff options
author | Brad King <brad.king@kitware.com> | 2014-11-07 16:45:33 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-11-07 16:45:33 (GMT) |
commit | 098bea14e3e14ad0e4da7238d5b02957bc185aa4 (patch) | |
tree | 4166215afa69fbc908a237e355d88415f94e348d | |
parent | 06c3b7a8224b9864f1771de62926c1d1fb3476cc (diff) | |
parent | caa4b7b88b3845a23d0767b9e63ee6e31ca614e5 (diff) | |
download | CMake-098bea14e3e14ad0e4da7238d5b02957bc185aa4.zip CMake-098bea14e3e14ad0e4da7238d5b02957bc185aa4.tar.gz CMake-098bea14e3e14ad0e4da7238d5b02957bc185aa4.tar.bz2 |
Merge branch 'genex-target-objects-ordering' into release
-rw-r--r-- | Source/cmGeneratorExpressionEvaluator.cxx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx index c1478df..67a1a6d 100644 --- a/Source/cmGeneratorExpressionEvaluator.cxx +++ b/Source/cmGeneratorExpressionEvaluator.cxx @@ -1286,12 +1286,16 @@ static const struct TargetObjectsNode : public cmGeneratorExpressionNode std::string obj_dir = gt->ObjectDirectory; std::string result; const char* sep = ""; - for(std::map<cmSourceFile const*, std::string>::const_iterator it - = mapping.begin(); it != mapping.end(); ++it) + for(std::vector<cmSourceFile const*>::const_iterator it + = objectSources.begin(); it != objectSources.end(); ++it) { - assert(!it->second.empty()); + // Find the object file name corresponding to this source file. + std::map<cmSourceFile const*, std::string>::const_iterator + map_it = mapping.find(*it); + // It must exist because we populated the mapping just above. + assert(!map_it->second.empty()); result += sep; - std::string objFile = obj_dir + it->second; + std::string objFile = obj_dir + map_it->second; cmSourceFile* sf = context->Makefile->GetOrCreateSource(objFile, true); sf->SetObjectLibrary(tgtName); sf->SetProperty("EXTERNAL_OBJECT", "1"); |