summaryrefslogtreecommitdiffstats
path: root/Source/cmConfigureFileCommand.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmConfigureFileCommand.cxx')
-rw-r--r--Source/cmConfigureFileCommand.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/cmConfigureFileCommand.cxx b/Source/cmConfigureFileCommand.cxx
index c30a63b..8792a46 100644
--- a/Source/cmConfigureFileCommand.cxx
+++ b/Source/cmConfigureFileCommand.cxx
@@ -53,6 +53,7 @@ bool cmConfigureFileCommand::InitialPass(std::vector<std::string> const& args)
m_CopyOnly = false;
m_EscapeQuotes = false;
m_Immediate = false;
+ m_AtOnly = false;
for(unsigned int i=2;i < args.size();++i)
{
if(args[i] == "COPYONLY")
@@ -63,6 +64,10 @@ bool cmConfigureFileCommand::InitialPass(std::vector<std::string> const& args)
{
m_EscapeQuotes = true;
}
+ else if(args[i] == "@ONLY")
+ {
+ m_AtOnly = true;
+ }
else if(args[i] == "IMMEDIATE")
{
m_Immediate = true;
@@ -136,8 +141,8 @@ void cmConfigureFileCommand::ConfigureFile()
if(fin)
{
inLine = buffer;
- m_Makefile->ExpandVariablesInString(inLine, m_EscapeQuotes);
- m_Makefile->RemoveVariablesInString(inLine);
+ m_Makefile->ExpandVariablesInString(inLine, m_EscapeQuotes, m_AtOnly);
+ m_Makefile->RemoveVariablesInString(inLine, m_AtOnly);
// look for special cmakedefine symbol and handle it
// is the symbol defined
if (cmdefine.find(inLine))