summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-02-01 13:10:58 (GMT)
committerKitware Robot <kwrobot@kitware.com>2019-02-01 13:11:19 (GMT)
commitcf3af44af2b73ab6a89a8773b5fc3bee8276a47c (patch)
tree844dba39ddcf43857efe418a0ca968ed3c79cd62 /Source
parent9512a582389df6f588781eed41cf826a7bacabe0 (diff)
parent1c6c2bae285ecce518d68f708729840df9c28fb0 (diff)
downloadCMake-cf3af44af2b73ab6a89a8773b5fc3bee8276a47c.zip
CMake-cf3af44af2b73ab6a89a8773b5fc3bee8276a47c.tar.gz
CMake-cf3af44af2b73ab6a89a8773b5fc3bee8276a47c.tar.bz2
Merge topic 'server-normalize-paths'
1c6c2bae28 cmake-server: Normalize build and source directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2898
Diffstat (limited to 'Source')
-rw-r--r--Source/cmServerProtocol.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/cmServerProtocol.cxx b/Source/cmServerProtocol.cxx
index c3c8156..203ee93 100644
--- a/Source/cmServerProtocol.cxx
+++ b/Source/cmServerProtocol.cxx
@@ -222,13 +222,22 @@ bool cmServerProtocol1::DoActivate(const cmServerRequest& request,
std::string* errorMessage)
{
std::string sourceDirectory = request.Data[kSOURCE_DIRECTORY_KEY].asString();
- const std::string buildDirectory =
- request.Data[kBUILD_DIRECTORY_KEY].asString();
+ std::string buildDirectory = request.Data[kBUILD_DIRECTORY_KEY].asString();
std::string generator = request.Data[kGENERATOR_KEY].asString();
std::string extraGenerator = request.Data[kEXTRA_GENERATOR_KEY].asString();
std::string toolset = request.Data[kTOOLSET_KEY].asString();
std::string platform = request.Data[kPLATFORM_KEY].asString();
+ // normalize source and build directory
+ if (!sourceDirectory.empty()) {
+ sourceDirectory = cmSystemTools::CollapseFullPath(sourceDirectory);
+ cmSystemTools::ConvertToUnixSlashes(sourceDirectory);
+ }
+ if (!buildDirectory.empty()) {
+ buildDirectory = cmSystemTools::CollapseFullPath(buildDirectory);
+ cmSystemTools::ConvertToUnixSlashes(buildDirectory);
+ }
+
if (buildDirectory.empty()) {
setErrorMessage(errorMessage,
std::string("\"") + kBUILD_DIRECTORY_KEY +