summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-09-21 20:10:47 (GMT)
committerBrad King <brad.king@kitware.com>2006-09-21 20:10:47 (GMT)
commitb9fc06735da95cd0f96c96012dd98c7ab5be56e6 (patch)
tree9ad4d426525eba88099635e9a3c6e5180643cadf
parent6d72bb5ae1a6abe3f497133ea8483e0a6cd0dd5e (diff)
downloadCMake-b9fc06735da95cd0f96c96012dd98c7ab5be56e6.zip
CMake-b9fc06735da95cd0f96c96012dd98c7ab5be56e6.tar.gz
CMake-b9fc06735da95cd0f96c96012dd98c7ab5be56e6.tar.bz2
BUG: Enabled use of EscapeForShell to properly escape custom command lines. This addresses bug#3786 for Xcode.
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx3
-rw-r--r--Source/cmLocalGenerator.h4
2 files changed, 4 insertions, 3 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index f886ea6..bfc8c8e 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1037,7 +1037,8 @@ cmGlobalXCodeGenerator::AddCommandsToBuildPhase(cmXCodeObject* buildphase,
for(unsigned int j=1; j < commandLine.size(); ++j)
{
cmd += " ";
- cmd += cmSystemTools::EscapeSpaces(commandLine[j].c_str());
+ cmd += (this->CurrentLocalGenerator
+ ->EscapeForShell(commandLine[j].c_str()));
}
makefileStream << "\t" << cmd.c_str() << "\n";
}
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 1e324a1..44aa79a 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -201,12 +201,12 @@ public:
const char* LanguageCompileFlags;
};
-protected:
-
/** Escape the given string to be used as a command line argument in
the native build system shell. */
std::string EscapeForShell(const char* str);
+protected:
+
/** Construct a comment for a custom command. */
std::string ConstructComment(const cmCustomCommand& cc,
const char* default_comment = "");