Xcode: Sort source files

Since Xcode doesn't sort the files on its own, let's sort them in our
generator to make navigation easier.  Visual Studio, QtCreator, and
kdevelop all display files sorted.
This commit is contained in:
Alexander Chehovsky 2013-02-16 14:23:21 +01:00 committed by Brad King
parent 0816caecac
commit f6a8983db4
1 changed files with 12 additions and 1 deletions

View File

@ -955,6 +955,15 @@ void cmGlobalXCodeGenerator::SetCurrentLocalGenerator(cmLocalGenerator* gen)
}
}
//----------------------------------------------------------------------------
struct cmSourceFilePathCompare
{
bool operator()(cmSourceFile* l, cmSourceFile* r)
{
return l->GetFullPath() < r->GetFullPath();
}
};
//----------------------------------------------------------------------------
void
cmGlobalXCodeGenerator::CreateXCodeTargets(cmLocalGenerator* gen,
@ -981,7 +990,9 @@ cmGlobalXCodeGenerator::CreateXCodeTargets(cmLocalGenerator* gen,
}
// organize the sources
std::vector<cmSourceFile*> const &classes = cmtarget.GetSourceFiles();
std::vector<cmSourceFile*> classes = cmtarget.GetSourceFiles();
std::sort(classes.begin(), classes.end(), cmSourceFilePathCompare());
std::vector<cmXCodeObject*> externalObjFiles;
std::vector<cmXCodeObject*> headerFiles;
std::vector<cmXCodeObject*> resourceFiles;