BUG: Do not convert SOURCE argument from relative to full path. It breaks the old-style SOURCE==TARGET trick and the SOURCE argument is only present for old-style commands anyway. This addresses bug#2120.

This commit is contained in:
Brad King 2005-08-08 12:00:42 -04:00
parent 2c658a6300
commit bb043289d0
1 changed files with 6 additions and 1 deletions

View File

@ -120,7 +120,6 @@ bool cmAddCustomCommandCommand::InitialPass(std::vector<std::string> const& args
std::string filename; std::string filename;
switch (doing) switch (doing)
{ {
case doing_source:
case doing_output: case doing_output:
case doing_outputs: case doing_outputs:
if (!cmSystemTools::FileIsFullPath(copy.c_str())) if (!cmSystemTools::FileIsFullPath(copy.c_str()))
@ -130,6 +129,12 @@ bool cmAddCustomCommandCommand::InitialPass(std::vector<std::string> const& args
} }
filename += copy; filename += copy;
break; break;
case doing_source:
// We do not want to convert the argument to SOURCE because
// that option is only available for backward compatibility.
// Old-style use of this command may use the SOURCE==TARGET
// trick which we must preserve. If we convert the source
// to a full path then it will no longer equal the target.
default: default:
break; break;
} }