summaryrefslogtreecommitdiffstats
path: root/Source/cmExtraEclipseCDT4Generator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmExtraEclipseCDT4Generator.cxx')
-rw-r--r--Source/cmExtraEclipseCDT4Generator.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx
index 78a8704..5c7d400 100644
--- a/Source/cmExtraEclipseCDT4Generator.cxx
+++ b/Source/cmExtraEclipseCDT4Generator.cxx
@@ -1334,12 +1334,26 @@ bool cmExtraEclipseCDT4Generator
{
outputPath = this->HomeOutputDirectory + "/" + outputPath;
}
+
+ // in this case it's not necessary:
if (cmSystemTools::IsSubDirectory(outputPath.c_str(),
this->HomeOutputDirectory.c_str()))
{
return false;
}
+ // in these two cases Eclipse would complain:
+ if (cmSystemTools::IsSubDirectory(this->HomeOutputDirectory.c_str(),
+ outputPath.c_str()))
+ {
+ return false;
+ }
+ if (cmSystemTools::GetRealPath(outputPath.c_str())
+ == cmSystemTools::GetRealPath(this->HomeOutputDirectory.c_str()))
+ {
+ return false;
+ }
+
std::string name = this->GetPathBasename(outputPath);
// make sure linked resource name is unique