diff options
Diffstat (limited to 'Source/cmConfigureFileCommand.cxx')
-rw-r--r-- | Source/cmConfigureFileCommand.cxx | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/Source/cmConfigureFileCommand.cxx b/Source/cmConfigureFileCommand.cxx index 6325bfb..58e40e7 100644 --- a/Source/cmConfigureFileCommand.cxx +++ b/Source/cmConfigureFileCommand.cxx @@ -51,12 +51,28 @@ bool cmConfigureFileCommand::InitialPass(std::vector<std::string>& args) m_InputFile = args[0]; m_OuputFile = args[1]; m_CopyOnly = false; + m_EscapeQuotes = false; if(args.size() >= 3) { if(args[2] == "COPYONLY") { m_CopyOnly = true; } + if(args[2] == "ESCAPE_QUOTES") + { + m_EscapeQuotes = true; + } + } + if(args.size() >= 4) + { + if(args[3] == "COPYONLY") + { + m_CopyOnly = true; + } + if(args[3] == "ESCAPE_QUOTES") + { + m_EscapeQuotes = true; + } } return true; } @@ -102,7 +118,7 @@ void cmConfigureFileCommand::FinalPass() inLine = buffer; if(!m_CopyOnly) { - m_Makefile->ExpandVariablesInString(inLine); + m_Makefile->ExpandVariablesInString(inLine, m_EscapeQuotes); m_Makefile->RemoveVariablesInString(inLine); // look for special cmakedefine symbol and handle it // is the symbol defined |