diff options
author | Brad King <brad.king@kitware.com> | 2001-03-08 15:30:18 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2001-03-08 15:30:18 (GMT) |
commit | 4666b017101de1aa9367a8c6d8ad0b8cb03a77c5 (patch) | |
tree | b7a444b9a0dc7689617802f1321ff1c6d6f8197e /Source/cmUtilitySourceCommand.h | |
parent | 5c8b68ba70c77eb2409e29a416599e13cc2d7e5e (diff) | |
download | CMake-4666b017101de1aa9367a8c6d8ad0b8cb03a77c5.zip CMake-4666b017101de1aa9367a8c6d8ad0b8cb03a77c5.tar.gz CMake-4666b017101de1aa9367a8c6d8ad0b8cb03a77c5.tar.bz2 |
ENH: Added UTILITY_SOURCE command for specifying where a 3rd party utility's source is located when it is included in the distribution of a project.
Diffstat (limited to 'Source/cmUtilitySourceCommand.h')
-rw-r--r-- | Source/cmUtilitySourceCommand.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Source/cmUtilitySourceCommand.h b/Source/cmUtilitySourceCommand.h new file mode 100644 index 0000000..6fced25 --- /dev/null +++ b/Source/cmUtilitySourceCommand.h @@ -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 cmUtilitySourceCommand_h +#define cmUtilitySourceCommand_h + +#include "cmStandardIncludes.h" +#include "cmCommand.h" + +/** \class cmUtilitySourceCommand + * \brief A command to setup a cache entry with the location of a third-party + * utility's source. + * + * cmUtilitySourceCommand is used when a third-party utility's source is + * included in the project's source tree. It specifies the location of + * the executable's source, and any files that may be needed to confirm the + * identity of the source. + */ +class cmUtilitySourceCommand : public cmCommand +{ +public: + /** + * This is a virtual constructor for the command. + */ + virtual cmCommand* Clone() + { + return new cmUtilitySourceCommand; + } + + /** + * 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 "UTILITY_SOURCE";} + + /** + * Succinct documentation. + */ + virtual const char* GetTerseDocumentation() + { + return "Specify the source tree of a third-party utility."; + } + + /** + * More documentation. + */ + virtual const char* GetFullDocumentation() + { + return + "UTILITY_SOURCE(cache_entry executable_name path_to_source [file1 file2 ...])\n" + "When a third-party utility's source is included in the distribution,\n" + "this command specifies its location and name. The cache entry will\n" + "not be set unless the path_to_source and all listed files exist. It\n" + "is assumed that the source tree of the utility will have been built\n" + "before it is needed."; + } + + cmTypeMacro(cmUtilitySourceCommand, cmCommand); +}; + + + +#endif |