From 3498a8c66864dd5caddf770b8fe6ff24b2b61415 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 26 Feb 2009 08:49:10 -0500 Subject: 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. --- Source/cmLocalGenerator.cxx | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 70e5760..a6bc6ad 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -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 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 -- cgit v0.12