|
|
@@ -445,14 +445,23 @@ void cmDocumentation
|
|
|
::CreateModuleDocsForDir(cmsys::Directory& dir,
|
|
|
cmDocumentationSection &moduleSection)
|
|
|
{
|
|
|
+ // sort the files alphabetically, so the docs for one module are easier
|
|
|
+ // to find than if they are in random order
|
|
|
+ std::vector<std::string> sortedFiles;
|
|
|
for(unsigned int i = 0; i < dir.GetNumberOfFiles(); ++i)
|
|
|
+ {
|
|
|
+ sortedFiles.push_back(dir.GetFile(i));
|
|
|
+ }
|
|
|
+ std::sort(sortedFiles.begin(), sortedFiles.end());
|
|
|
+
|
|
|
+ for(std::vector<std::string>::const_iterator fname = sortedFiles.begin();
|
|
|
+ fname!=sortedFiles.end(); ++fname)
|
|
|
{
|
|
|
- std::string fname = dir.GetFile(i);
|
|
|
- if(fname.length() > 6)
|
|
|
+ if(fname->length() > 6)
|
|
|
{
|
|
|
- if(fname.substr(fname.length()-6, 6) == ".cmake")
|
|
|
+ if(fname->substr(fname->length()-6, 6) == ".cmake")
|
|
|
{
|
|
|
- std::string moduleName = fname.substr(0, fname.length()-6);
|
|
|
+ std::string moduleName = fname->substr(0, fname->length()-6);
|
|
|
// this check is to avoid creating documentation for the modules with
|
|
|
// the same name in multiple directories of CMAKE_MODULE_PATH
|
|
|
if (this->ModulesFound.find(moduleName) == this->ModulesFound.end())
|
|
|
@@ -460,7 +469,7 @@ void cmDocumentation
|
|
|
this->ModulesFound.insert(moduleName);
|
|
|
std::string path = dir.GetPath();
|
|
|
path += "/";
|
|
|
- path += fname;
|
|
|
+ path += (*fname);
|
|
|
this->CreateSingleModule(path.c_str(), moduleName.c_str(),
|
|
|
moduleSection);
|
|
|
}
|