diff options
Diffstat (limited to 'Source/cmCustomCommand.cxx')
-rw-r--r-- | Source/cmCustomCommand.cxx | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Source/cmCustomCommand.cxx b/Source/cmCustomCommand.cxx new file mode 100644 index 0000000..bc0593f --- /dev/null +++ b/Source/cmCustomCommand.cxx @@ -0,0 +1,60 @@ +/*========================================================================= + + Program: Insight Segmentation & Registration Toolkit + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + + Copyright (c) 2000 National Library of Medicine + All rights reserved. + + See COPYRIGHT.txt for copyright details. + +=========================================================================*/ +#include "cmCustomCommand.h" +#include "cmMakefile.h" + +/** + * The constructor + */ +cmCustomCommand::cmCustomCommand(const char *src, const char *command, + std::vector<std::string> dep, + std::vector<std::string> out): + m_Source(src), + m_Command(command), + m_Depends(dep), + m_Outputs(out) +{ +} + + +/** + * Copy constructor. + */ +cmCustomCommand::cmCustomCommand(const cmCustomCommand& r): + m_Source(r.m_Source), + m_Command(r.m_Command), + m_Depends(r.m_Depends), + m_Outputs(r.m_Outputs) +{ +} + +void cmCustomCommand::ExpandVariables(const cmMakefile &mf) +{ + mf.ExpandVariablesInString(m_Source); + mf.ExpandVariablesInString(m_Command); + + for (std::vector<std::string>::iterator i = m_Depends.begin(); + i != m_Depends.end(); ++i) + { + mf.ExpandVariablesInString(*i); + } + for (std::vector<std::string>::iterator i = m_Outputs.begin(); + i != m_Outputs.end(); ++i) + { + mf.ExpandVariablesInString(*i); + } +} + |