Explorar o código

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.
Stephan Tolksdorf %!s(int64=12) %!d(string=hai) anos
pai
achega
2dcb1dc9ca
Modificáronse 1 ficheiros con 7 adicións e 7 borrados
  1. 7 7
      Source/cmGlobalXCodeGenerator.cxx

+ 7 - 7
Source/cmGlobalXCodeGenerator.cxx

@@ -3031,23 +3031,23 @@ cmXCodeObject* cmGlobalXCodeGenerator
     cmStdString curr_tgt_folder;
     for(std::vector<std::string>::size_type i = 0; i < tgt_folders.size();i++)
       {
-      curr_tgt_folder += tgt_folders[i];
-      it = this->TargetGroup.find(curr_tgt_folder);
-      if(it == this->TargetGroup.end())
+      if (i != 0)
         {
-        tgroup = this->CreatePBXGroup(tgroup,tgt_folders[i]);
-        this->TargetGroup[curr_tgt_folder] = tgroup;
+        curr_tgt_folder += "/";
         }
-      else
+      curr_tgt_folder += tgt_folders[i];
+      it = this->TargetGroup.find(curr_tgt_folder);
+      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;