diff options
author | Alex Neundorf <neundorf@kde.org> | 2011-10-23 09:00:45 (GMT) |
---|---|---|
committer | Alex Neundorf <neundorf@kde.org> | 2011-10-23 09:00:45 (GMT) |
commit | cef6bd94d76a24c5948fea0224a78217f34c0b23 (patch) | |
tree | e87cb7e7ed8eb37281d559ac2140b97da69084f3 /Source/cmExtraEclipseCDT4Generator.cxx | |
parent | b6d4de7911c5d54c087d5616660ee7e4050da834 (diff) | |
download | CMake-cef6bd94d76a24c5948fea0224a78217f34c0b23.zip CMake-cef6bd94d76a24c5948fea0224a78217f34c0b23.tar.gz CMake-cef6bd94d76a24c5948fea0224a78217f34c0b23.tar.bz2 |
Eclipse: move code for generating links to projects into separate function
Alex
Diffstat (limited to 'Source/cmExtraEclipseCDT4Generator.cxx')
-rw-r--r-- | Source/cmExtraEclipseCDT4Generator.cxx | 63 |
1 files changed, 36 insertions, 27 deletions
diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx index 3f63646..c1a810b 100644 --- a/Source/cmExtraEclipseCDT4Generator.cxx +++ b/Source/cmExtraEclipseCDT4Generator.cxx @@ -424,33 +424,7 @@ void cmExtraEclipseCDT4Generator::CreateProjectFile() if (this->SupportsVirtualFolders) { - // for each sub project create a linked resource to the source dir - // - only if it is an out-of-source build - this->AppendLinkedResource(fout, "[Subprojects]", - "virtual:/virtual", VirtualFolder); - - for (std::map<cmStdString, std::vector<cmLocalGenerator*> >::const_iterator - it = this->GlobalGenerator->GetProjectMap().begin(); - it != this->GlobalGenerator->GetProjectMap().end(); - ++it) - { - std::string linkSourceDirectory = this->GetEclipsePath( - it->second[0]->GetMakefile()->GetStartDirectory()); - // a linked resource must not point to a parent directory of .project or - // .project itself - if ((this->HomeOutputDirectory != linkSourceDirectory) && - !cmSystemTools::IsSubDirectory(this->HomeOutputDirectory.c_str(), - linkSourceDirectory.c_str())) - { - std::string linkName = "[Subprojects]/"; - linkName += it->first; - this->AppendLinkedResource(fout, linkName, - this->GetEclipsePath(linkSourceDirectory), - LinkToFolder - ); - this->SrcLinkedResources.push_back(it->first); - } - } + this->CreateLinksToSubprojects(fout); std::string linkName = "[Targets]"; this->AppendLinkedResource(fout, linkName, "virtual:/virtual", @@ -550,6 +524,41 @@ void cmExtraEclipseCDT4Generator::CreateProjectFile() fout << "</projectDescription>\n"; } + +//---------------------------------------------------------------------------- +void cmExtraEclipseCDT4Generator::CreateLinksToSubprojects( + cmGeneratedFileStream& fout) +{ + // for each sub project create a linked resource to the source dir + // - only if it is an out-of-source build + this->AppendLinkedResource(fout, "[Subprojects]", + "virtual:/virtual", VirtualFolder); + + for (std::map<cmStdString, std::vector<cmLocalGenerator*> >::const_iterator + it = this->GlobalGenerator->GetProjectMap().begin(); + it != this->GlobalGenerator->GetProjectMap().end(); + ++it) + { + std::string linkSourceDirectory = this->GetEclipsePath( + it->second[0]->GetMakefile()->GetStartDirectory()); + // a linked resource must not point to a parent directory of .project or + // .project itself + if ((this->HomeOutputDirectory != linkSourceDirectory) && + !cmSystemTools::IsSubDirectory(this->HomeOutputDirectory.c_str(), + linkSourceDirectory.c_str())) + { + std::string linkName = "[Subprojects]/"; + linkName += it->first; + this->AppendLinkedResource(fout, linkName, + this->GetEclipsePath(linkSourceDirectory), + LinkToFolder + ); + this->SrcLinkedResources.push_back(it->first); + } + } +} + + //---------------------------------------------------------------------------- void cmExtraEclipseCDT4Generator::AppendIncludeDirectories( cmGeneratedFileStream& fout, |