1
/*=========================================================================
3
Program: CMake - Cross-Platform Makefile Generator
4
Module: $RCSfile: cmITKWrapTclCommand.h,v $
6
Date: $Date: 2003/08/10 22:30:53 $
7
Version: $Revision: 1.6 $
9
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
10
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12
This software is distributed WITHOUT ANY WARRANTY; without even
13
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14
PURPOSE. See the above copyright notices for more information.
16
=========================================================================*/
17
#ifndef cmITKWrapTclCommand_h
18
#define cmITKWrapTclCommand_h
20
#include "cmCommand.h"
21
class cmDependInformation;
24
/** \class cmITKWrapTclCommand
25
* \brief Run CABLE to generate Tcl wrappers.
27
* cmITKWrapTclCommand runs CABLE on the specified configuration files
28
* and combines them into a package on a given target.
30
class cmITKWrapTclCommand : public cmCommand
33
cmITKWrapTclCommand();
34
~cmITKWrapTclCommand();
36
/** This is a virtual constructor for the command. */
37
virtual cmCommand* Clone() { return new cmITKWrapTclCommand; }
39
/** This is called when the command is first encountered in
40
* the CMakeLists.txt file. */
41
virtual bool InitialPass(std::vector<std::string> const& args);
43
/** The name of the command as specified in CMakeList.txt. */
44
virtual const char* GetName() {return "ITK_WRAP_TCL";}
46
/** Succinct documentation. */
47
virtual const char* GetTerseDocumentation()
48
{ return "Run CABLE to generate Tcl wrappers."; }
50
/** More documentation. */
51
virtual const char* GetFullDocumentation()
54
" ITK_WRAP_TCL(target-name config-file1 [config-file2 ...])\n"
55
"Run CABLE on all the configuration files to generate Tcl wrappers. "
56
"The generated sources are added to a target of the given name. This "
57
"command is provided for use by the Insight Toolkit (ITK) because it "
58
"was originally written before loaded commands were supported.";
61
cmTypeMacro(cmITKWrapTclCommand, cmCommand);
63
void AddDependencies(cmDependInformation const*info,
64
std::vector<std::string>& depends,
65
std::set<cmDependInformation const*>& visited);
66
cmStdString m_TargetName;
69
bool CreateCableRule(const char* configFile);
70
std::string GetCableFromCache() const;
72
cmMakeDepend* m_MakeDepend;