From cf3e42f811e63d430557d0f4d659ea3a9bc69d4e Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Fri, 2 Apr 2010 14:09:06 -0400 Subject: [PATCH] Partial fix from bug #10503, use full paths to fix custom commands. This fixes tests ExternalProject and LinkDirectory for VS 2010. --- Source/cmLocalVisualStudio7Generator.cxx | 6 ++++-- Source/cmLocalVisualStudioGenerator.cxx | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 1af0d1d42..8249d9e03 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -236,7 +236,7 @@ cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule() { std::string stampName = cmake::GetCMakeFilesDirectoryPostSlash(); stampName += "generate.stamp"; - const char* dsprule = + const char* dsprule = this->Makefile->GetRequiredDefinition("CMAKE_COMMAND"); cmCustomCommandLine commandLine; commandLine.push_back(dsprule); @@ -261,7 +261,9 @@ cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule() START_OUTPUT, UNCHANGED, true); commandLine.push_back(args); 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 const& listFiles = this->Makefile->GetListFiles(); diff --git a/Source/cmLocalVisualStudioGenerator.cxx b/Source/cmLocalVisualStudioGenerator.cxx index f3ed5b6a7..ed0b07fe1 100644 --- a/Source/cmLocalVisualStudioGenerator.cxx +++ b/Source/cmLocalVisualStudioGenerator.cxx @@ -169,7 +169,7 @@ cmLocalVisualStudioGenerator script += newline; newline = newline_text; script += "cd "; - script += this->Convert(workingDirectory, START_OUTPUT, SHELL); + script += this->Convert(workingDirectory, FULL, SHELL); // Change the working drive. if(workingDirectory[0] && workingDirectory[1] == ':')