cmCableInstantiateCommand.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /*=========================================================================
  2. Program: Insight Segmentation & Registration Toolkit
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2000 National Library of Medicine
  8. All rights reserved.
  9. See COPYRIGHT.txt for copyright details.
  10. =========================================================================*/
  11. #ifndef cmCableInstantiateCommand_h
  12. #define cmCableInstantiateCommand_h
  13. #include "cmStandardIncludes.h"
  14. #include "cmCablePackageEntryCommand.h"
  15. /** \class cmCableInstantiateCommand
  16. * \brief Define a command that generates a rule for explicit template
  17. * instantiations.
  18. *
  19. * cmCableInstantiateCommand is used to generate a rule in a CABLE
  20. * configuration file to create explicit template instantiations.
  21. */
  22. class cmCableInstantiateCommand : public cmCablePackageEntryCommand
  23. {
  24. public:
  25. /**
  26. * This is a virtual constructor for the command.
  27. */
  28. virtual cmCommand* Clone()
  29. {
  30. return new cmCableInstantiateCommand;
  31. }
  32. /**
  33. * The name of the command as specified in CMakeList.txt.
  34. */
  35. virtual const char* GetName() { return "CABLE_INSTANTIATE";}
  36. /**
  37. * Succinct documentation.
  38. */
  39. virtual const char* GetTerseDocumentation()
  40. {
  41. return "Define CABLE InstantiationSet in a package.";
  42. }
  43. /**
  44. * More documentation.
  45. */
  46. virtual const char* GetFullDocumentation()
  47. {
  48. return
  49. "CABLE_INSTANTIATE(member1 member2 ...)\n"
  50. "Generates an InstantiationSet in the CABLE configuration. It is\n"
  51. "assumed that all members of the set are explicit instantiations of\n"
  52. "template non-classes (functions, operators, etc).";
  53. }
  54. virtual void WriteConfiguration() const;
  55. cmTypeMacro(cmCableInstantiateCommand, cmCablePackageCommand);
  56. protected:
  57. typedef cmCablePackageEntryCommand::Entries Entries;
  58. };
  59. #endif