From 2dcb1dc9ca0302288cc931403557785d3c3667cf Mon Sep 17 00:00:00 2001 From: Stephan Tolksdorf Date: Mon, 2 Dec 2013 09:09:22 -0500 Subject: [PATCH] Xcode: Fix duplicate target subfolders (#14133) Fix logic introduced by commit eeeeca10 (XCode: Support target folders on XCode, 2011-02-20) to avoid duplicate subfolders. The problem was that no slash was appended to the curr_tgt_folder string on the it != this->TargetGroup.end() path. --- Source/cmGlobalXCodeGenerator.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index be0459d07f..215d48335b 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -3031,23 +3031,23 @@ cmXCodeObject* cmGlobalXCodeGenerator cmStdString curr_tgt_folder; for(std::vector::size_type i = 0; i < tgt_folders.size();i++) { + if (i != 0) + { + curr_tgt_folder += "/"; + } curr_tgt_folder += tgt_folders[i]; it = this->TargetGroup.find(curr_tgt_folder); - if(it == this->TargetGroup.end()) - { - tgroup = this->CreatePBXGroup(tgroup,tgt_folders[i]); - this->TargetGroup[curr_tgt_folder] = tgroup; - } - else + if(it != this->TargetGroup.end()) { tgroup = it->second; continue; } + tgroup = this->CreatePBXGroup(tgroup,tgt_folders[i]); + this->TargetGroup[curr_tgt_folder] = tgroup; if(i == 0) { this->SourcesGroupChildren->AddObject(tgroup); } - curr_tgt_folder += "/"; } } this->TargetGroup[target] = tgroup;