Quellcode durchsuchen

ENH: do not use crazy long paths to object files for try compile

Bill Hoffman vor 19 Jahren
Ursprung
Commit
8013ffd23b
1 geänderte Dateien mit 10 neuen und 0 gelöschten Zeilen
  1. 10 0
      Source/cmLocalGenerator.cxx

+ 10 - 0
Source/cmLocalGenerator.cxx

@@ -2286,6 +2286,16 @@ cmLocalGenerator::GetObjectFileNameWithoutTarget(const cmSourceFile& source)
       objectName = relFromSource;
       }
     }
+  // if it is still a full path check for the try compile case
+  // try compile never have in source sources, and should not
+  // have conflicting source file names in the same target
+  if(cmSystemTools::FileIsFullPath(objectName.c_str()))
+    {
+    if(this->GetGlobalGenerator()->GetCMakeInstance()->GetIsInTryCompile())
+      {
+      objectName = cmSystemTools::GetFilenameName(source.GetFullPath());
+      }
+    }
 
   // Replace the original source file extension with the object file
   // extension.