mirror of https://github.com/Kitware/CMake.git

9 changed files with 235 additions and 98 deletions
-
2Source/cmCommands.cxx
-
49Source/cmDSPMakefile.cxx
-
2Source/cmDSPMakefile.h
-
49Source/cmDSPWriter.cxx
-
2Source/cmDSPWriter.h
-
38Source/cmIncludeCommand.cxx
-
80Source/cmIncludeCommand.h
-
81Source/cmMakefile.cxx
-
30Source/cmMakefile.h
@ -0,0 +1,38 @@ |
|||
/*=========================================================================
|
|||
|
|||
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 "cmIncludeCommand.h"
|
|||
|
|||
#include <iostream.h>
|
|||
|
|||
// cmIncludeCommand
|
|||
bool cmIncludeCommand::Invoke(std::vector<std::string>& args) |
|||
{ |
|||
if (args.size()< 1) |
|||
{ |
|||
this->SetError("called with wrong number of arguments."); |
|||
} |
|||
|
|||
for( unsigned int i=0; i< args.size(); i++) |
|||
{ |
|||
m_Makefile->ExpandVariablesInString( args[i]); |
|||
m_Makefile->ReadListFile( m_Makefile->GetCurrentListFile(), |
|||
args[i].c_str()); |
|||
} |
|||
|
|||
return true; |
|||
} |
|||
|
|||
|
@ -0,0 +1,80 @@ |
|||
/*========================================================================= |
|||
|
|||
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. |
|||
|
|||
=========================================================================*/ |
|||
#ifndef cmIncludeCommand_h |
|||
#define cmIncludeCommand_h |
|||
|
|||
#include "cmStandardIncludes.h" |
|||
#include "cmCommand.h" |
|||
|
|||
/** \class cmIncludeCommand |
|||
* \brief |
|||
* |
|||
* cmIncludeCommand defines a list of distant |
|||
* files that can be "included" in the current list file. |
|||
* In almost every sense, this is identical to a C/C++ |
|||
* #include command. Arguments are first expended as usual. |
|||
*/ |
|||
class cmIncludeCommand : public cmCommand |
|||
{ |
|||
public: |
|||
/** |
|||
* This is a virtual constructor for the command. |
|||
*/ |
|||
virtual cmCommand* Clone() |
|||
{ |
|||
return new cmIncludeCommand; |
|||
} |
|||
|
|||
/** |
|||
* This is called when the command is first encountered in |
|||
* the CMakeLists.txt file. |
|||
*/ |
|||
virtual bool Invoke(std::vector<std::string>& args); |
|||
|
|||
/** |
|||
* This determines if the command gets propagated down |
|||
* to makefiles located in subdirectories. |
|||
*/ |
|||
virtual bool IsInherited() {return true;} |
|||
|
|||
/** |
|||
* The name of the command as specified in CMakeList.txt. |
|||
*/ |
|||
virtual const char* GetName() {return "INCLUDE";} |
|||
|
|||
/** |
|||
* Succinct documentation. |
|||
*/ |
|||
virtual const char* GetTerseDocumentation() |
|||
{ |
|||
return "Basically identical to a C #include \"somthing\" command."; |
|||
} |
|||
|
|||
/** |
|||
* More documentation. |
|||
*/ |
|||
virtual const char* GetFullDocumentation() |
|||
{ |
|||
return |
|||
"INCLUDE(file1 file2)\n"; |
|||
} |
|||
|
|||
cmTypeMacro(cmIncludeCommand, cmCommand); |
|||
}; |
|||
|
|||
|
|||
|
|||
#endif |
Write
Preview
Loading…
Cancel
Save
Reference in new issue