Browse Source

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

Bill Hoffman 19 years ago
parent
commit
8013ffd23b
1 changed files with 10 additions and 0 deletions
  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.