Просмотр исходного кода

BUG: When the working directory for a custom command is on another drive letter we need to change to that drive letter after changing its working directory. Fixes issue #6150.

Brad King 18 лет назад
Родитель
Сommit
abaa026721
1 измененных файлов с 10 добавлено и 0 удалено
  1. 10 0
      Source/cmLocalVisualStudioGenerator.cxx

+ 10 - 0
Source/cmLocalVisualStudioGenerator.cxx

@@ -139,10 +139,20 @@ cmLocalVisualStudioGenerator
   std::string script;
   if(workingDirectory)
     {
+    // Change the working directory.
     script += newline;
     newline = newline_text;
     script += "cd ";
     script += this->Convert(workingDirectory, START_OUTPUT, SHELL);
+
+    // Change the working drive.
+    if(workingDirectory[0] && workingDirectory[1] == ':')
+      {
+      script += newline;
+      newline = newline_text;
+      script += workingDirectory[0];
+      script += workingDirectory[1];
+      }
     }
   // for visual studio IDE add extra stuff to the PATH
   // if CMAKE_MSVCIDE_RUN_PATH is set.