summaryrefslogtreecommitdiffstats
path: root/Source/cmConfigureFileCommand.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2001-10-30 19:05:07 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2001-10-30 19:05:07 (GMT)
commit091e95f26dba82131de135dce5b14a937b68d92c (patch)
tree891d48d0b4741c87bcbdf86bcc0f18f9ad875974 /Source/cmConfigureFileCommand.cxx
parentbc34c428dfbfaf9164a2ba899d6d2b350777c1a9 (diff)
downloadCMake-091e95f26dba82131de135dce5b14a937b68d92c.zip
CMake-091e95f26dba82131de135dce5b14a937b68d92c.tar.gz
CMake-091e95f26dba82131de135dce5b14a937b68d92c.tar.bz2
ENH: add an option to configure file command that allows for only expansion of at variables and not dollar variables
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))