Commit 3498a8c6 authored by Brad King's avatar Brad King
Browse files

ENH: Simplify reverse cmLocalGenerator::Convert

It does not make sense to call the reverse Convert signature (for remote
paths corresponding to CMake-managed directories) with NONE or FULL
since they have no path.  Patch from Modestas Vainius.  See issue #7779.
parent 338d37ee
......@@ -2200,25 +2200,15 @@ std::string cmLocalGenerator::Convert(RelativeRoot remote,
bool optional)
{
const char* remotePath = this->GetRelativeRootPath(remote);
// The relative root must have a path (i.e. not FULL or NONE)
assert(remotePath != 0);
if(local && (!optional || this->UseRelativePaths))
{
std::vector<std::string> components;
std::string result;
switch(remote)
{
case HOME:
case HOME_OUTPUT:
case START:
case START_OUTPUT:
cmSystemTools::SplitPath(local, components);
result = this->ConvertToRelativePath(components, remotePath);
break;
case FULL:
result = remotePath;
break;
case NONE:
break;
}
cmSystemTools::SplitPath(local, components);
std::string result = this->ConvertToRelativePath(components, remotePath);
return this->ConvertToOutputFormat(result.c_str(), output);
}
else
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment