diff options
Diffstat (limited to 'Source/cmExtraEclipseCDT4Generator.cxx')
-rw-r--r-- | Source/cmExtraEclipseCDT4Generator.cxx | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx index 8edd57f..e4fa0edc 100644 --- a/Source/cmExtraEclipseCDT4Generator.cxx +++ b/Source/cmExtraEclipseCDT4Generator.cxx @@ -283,16 +283,21 @@ void cmExtraEclipseCDT4Generator::CreateProjectFile() const it != this->GlobalGenerator->GetProjectMap().end(); ++it) { - fout << - "\t\t<link>\n" - "\t\t\t<name>" << it->first << "</name>\n" - "\t\t\t<type>2</type>\n" - "\t\t\t<location>" - << this->GetEclipsePath( - it->second[0]->GetMakefile()->GetStartDirectory()) - << "</location>\n" - "\t\t</link>\n" - ; + std::string linkSourceDirectory =this->GetEclipsePath( + it->second[0]->GetMakefile()->GetStartDirectory()); + if (!cmSystemTools::IsSubDirectory(homeOutputDirectory.c_str(), + linkSourceDirectory.c_str())) + { + fout << + "\t\t<link>\n" + "\t\t\t<name>" << it->first << "</name>\n" + "\t\t\t<type>2</type>\n" + "\t\t\t<location>" + << this->GetEclipsePath(linkSourceDirectory) + << "</location>\n" + "\t\t</link>\n" + ; + } } // for EXECUTABLE_OUTPUT_PATH when not in binary dir std::string output_path = mf->GetDefinition("EXECUTABLE_OUTPUT_PATH"); |