@ -2461,21 +2461,20 @@ std::string& cmLocalGenerator::CreateSafeUniqueObjectFileName(const char* sin)
std : : string
cmLocalGenerator : : GetObjectFileNameWithoutTarget ( const cmSourceFile & source )
{
// If the source file is located below the current binary directory
// then use that relative path for the object file name.
// Construct the object file name using the full path to the source
// file which is its only unique identification. Convert the path
// to be relative to the current binary directory if possible.
std : : string objectName = this - > Convert ( source . GetFullPath ( ) . c_str ( ) ,
START_OUTPUT ) ;
if ( cmSystemTools : : FileIsFullPath ( objectName . c_str ( ) ) | |
objectName . empty ( ) | | objectName [ 0 ] = = ' . ' )
if ( cmSystemTools : : FileIsFullPath ( objectName . c_str ( ) ) | | objectName . empty ( ) )
{
// If the source file is located below the current source
// directory then use that relative path for the object file name.
// Otherwise just use the relative path from the current binary
// directory.
// If the source file can be referenced as a relative path from
// the source tree use that relative path to construct the object
// name.
std : : string relFromSource = this - > Convert ( source . GetFullPath ( ) . c_str ( ) ,
START ) ;
if ( ! cmSystemTools : : FileIsFullPath ( relFromSource . c_str ( ) ) & &
! relFromSource . empty ( ) & & relFromSource [ 0 ] ! = ' . ' )
! relFromSource . empty ( ) )
{
objectName = relFromSource ;
}