diff options
Diffstat (limited to 'Source/cmSourceGroupCommand.h')
-rw-r--r-- | Source/cmSourceGroupCommand.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Source/cmSourceGroupCommand.h b/Source/cmSourceGroupCommand.h new file mode 100644 index 0000000..7a48a64 --- /dev/null +++ b/Source/cmSourceGroupCommand.h @@ -0,0 +1,84 @@ +/*========================================================================= + + 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 cmSourceGroupCommand_h +#define cmSourceGroupCommand_h + +#include "cmStandardIncludes.h" +#include "cmCommand.h" + +/** \class cmSourceGroupCommand + * \brief Adds a cmSourceGroup to the cmMakefile. + * + * cmSourceGroupCommand is used to define cmSourceGroups which split up + * source files in to named, organized groups in the generated makefiles. + */ +class cmSourceGroupCommand : public cmCommand +{ +public: + /** + * This is a virtual constructor for the command. + */ + virtual cmCommand* Clone() + { + return new cmSourceGroupCommand; + } + + /** + * This is called when the command is first encountered in + * the CMakeLists.txt file. + */ + virtual bool Invoke(std::vector<std::string>& args); + + /** + * The name of the command as specified in CMakeList.txt. + */ + virtual const char* GetName() {return "SOURCE_GROUP";} + + /** + * This determines if the command gets propagated down + * to makefiles located in subdirectories. + */ + virtual bool IsInherited() + { + return true; + } + + /** + * Succinct documentation. + */ + virtual const char* GetTerseDocumentation() + { + return "Define a grouping for sources in the makefile."; + } + + /** + * More documentation. + */ + virtual const char* GetFullDocumentation() + { + return + "SOURCE_GROUP(name regex)\n" + "Defines a new source group. Any file whose name matches the regular\n" + "expression will be placed in this group. The LAST regular expression\n" + "of all defined SOURCE_GROUPs that matches the file will be selected."; + } + + cmTypeMacro(cmSourceGroupCommand, cmCommand); +}; + + + +#endif |