Kaynağa Gözat

Eclipse: fix #13358: don't create bad linked resources

Don't create linked resources which point to CMAKE_BINARY_DIR
itself or one of its parent dirs. Eclipse complained about that.

Alex
Alex Neundorf 13 yıl önce
ebeveyn
işleme
4ea5dc5ba5
1 değiştirilmiş dosya ile 14 ekleme ve 0 silme
  1. 14 0
      Source/cmExtraEclipseCDT4Generator.cxx

+ 14 - 0
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