|
|
@@ -411,6 +411,26 @@ std::string cmOutputConverter::EscapeForCMake(const std::string& str)
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+//----------------------------------------------------------------------------
|
|
|
+std::string
|
|
|
+cmOutputConverter::EscapeWindowsShellArgument(const char* arg, int shell_flags)
|
|
|
+{
|
|
|
+ char local_buffer[1024];
|
|
|
+ char* buffer = local_buffer;
|
|
|
+ int size = cmsysSystem_Shell_GetArgumentSizeForWindows(arg, shell_flags);
|
|
|
+ if(size > 1024)
|
|
|
+ {
|
|
|
+ buffer = new char[size];
|
|
|
+ }
|
|
|
+ cmsysSystem_Shell_GetArgumentForWindows(arg, buffer, shell_flags);
|
|
|
+ std::string result(buffer);
|
|
|
+ if(buffer != local_buffer)
|
|
|
+ {
|
|
|
+ delete [] buffer;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+
|
|
|
//----------------------------------------------------------------------------
|
|
|
cmOutputConverter::FortranFormat
|
|
|
cmOutputConverter::GetFortranFormat(const char* value)
|