diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2002-04-30 18:00:35 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2002-04-30 18:00:35 (GMT) |
commit | 2d37e6d1a86ea2397645fc94b7a0afe9354aa326 (patch) | |
tree | fa1d7b26f8d9e27de8b19081f995589c377b1e42 /Source/cmSeparateArgumentsCommand.h | |
parent | ec4331d2737f882e5f2f23360987f30364095506 (diff) | |
download | CMake-2d37e6d1a86ea2397645fc94b7a0afe9354aa326.zip CMake-2d37e6d1a86ea2397645fc94b7a0afe9354aa326.tar.gz CMake-2d37e6d1a86ea2397645fc94b7a0afe9354aa326.tar.bz2 |
ENH: add new command to separate space separated arguments
Diffstat (limited to 'Source/cmSeparateArgumentsCommand.h')
-rw-r--r-- | Source/cmSeparateArgumentsCommand.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Source/cmSeparateArgumentsCommand.h b/Source/cmSeparateArgumentsCommand.h new file mode 100644 index 0000000..0bc1c67 --- /dev/null +++ b/Source/cmSeparateArgumentsCommand.h @@ -0,0 +1,79 @@ +/*========================================================================= + + Program: Insight Segmentation & Registration Toolkit + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + Copyright (c) 2002 Insight Consortium. All rights reserved. + See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ +#ifndef cmSeparateArgumentsCommand_h +#define cmSeparateArgumentsCommand_h + +#include "cmStandardIncludes.h" +#include "cmCommand.h" + +/** \class cmSeparateArgumentsCommand + * \brief SeparateArguments a CMAKE variable + * + * cmSeparateArgumentsCommand sets a variable to a value with expansion. + */ +class cmSeparateArgumentsCommand : public cmCommand +{ +public: + /** + * This is a virtual constructor for the command. + */ + virtual cmCommand* Clone() + { + return new cmSeparateArgumentsCommand; + } + + /** + * This is called when the command is first encountered in + * the CMakeLists.txt file. + */ + virtual bool InitialPass(std::vector<std::string> const& 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 "SEPARATE_ARGUMENTS";} + + /** + * Succinct documentation. + */ + virtual const char* GetTerseDocumentation() + { + return "Split space separated arguments into a semi-colon separated list."; + } + + /** + * More documentation. + */ + virtual const char* GetFullDocumentation() + { + return + "SEPARATE_ARGUMENTS(VARIABLE)\n" + "Convert the value of VARIABLE to a semi-colon separated list. All spaces are replaced with ;"; + } + + cmTypeMacro(cmSeparateArgumentsCommand, cmCommand); +}; + + + +#endif |