فهرست منبع

Partial fix from bug #10503, use full paths to fix custom commands.

This fixes tests ExternalProject and LinkDirectory for VS 2010.
Bill Hoffman 15 سال پیش
والد
کامیت
cf3e42f811
2فایلهای تغییر یافته به همراه5 افزوده شده و 3 حذف شده
  1. 4 2
      Source/cmLocalVisualStudio7Generator.cxx
  2. 1 1
      Source/cmLocalVisualStudioGenerator.cxx

+ 4 - 2
Source/cmLocalVisualStudio7Generator.cxx

@@ -236,7 +236,7 @@ cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule()
 {
 {
   std::string stampName = cmake::GetCMakeFilesDirectoryPostSlash();
   std::string stampName = cmake::GetCMakeFilesDirectoryPostSlash();
   stampName += "generate.stamp";
   stampName += "generate.stamp";
-  const char* dsprule = 
+  const char* dsprule =
     this->Makefile->GetRequiredDefinition("CMAKE_COMMAND");
     this->Makefile->GetRequiredDefinition("CMAKE_COMMAND");
   cmCustomCommandLine commandLine;
   cmCustomCommandLine commandLine;
   commandLine.push_back(dsprule);
   commandLine.push_back(dsprule);
@@ -261,7 +261,9 @@ cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule()
                   START_OUTPUT, UNCHANGED, true);
                   START_OUTPUT, UNCHANGED, true);
   commandLine.push_back(args);
   commandLine.push_back(args);
   commandLine.push_back("--check-stamp-file");
   commandLine.push_back("--check-stamp-file");
-  commandLine.push_back(stampName.c_str());
+  std::string stampFilename = this->Convert(stampName.c_str(), FULL,
+                                            SHELL);
+  commandLine.push_back(stampFilename.c_str());
 
 
   std::vector<std::string> const& listFiles = this->Makefile->GetListFiles();
   std::vector<std::string> const& listFiles = this->Makefile->GetListFiles();
 
 

+ 1 - 1
Source/cmLocalVisualStudioGenerator.cxx

@@ -169,7 +169,7 @@ cmLocalVisualStudioGenerator
     script += newline;
     script += newline;
     newline = newline_text;
     newline = newline_text;
     script += "cd ";
     script += "cd ";
-    script += this->Convert(workingDirectory, START_OUTPUT, SHELL);
+    script += this->Convert(workingDirectory, FULL, SHELL);
 
 
     // Change the working drive.
     // Change the working drive.
     if(workingDirectory[0] && workingDirectory[1] == ':')
     if(workingDirectory[0] && workingDirectory[1] == ':')