diff options
author | Alexander Neundorf <neundorf@kde.org> | 2007-06-08 15:57:16 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2007-06-08 15:57:16 (GMT) |
commit | 0ddc9f62e59b2b97625f50eb444093bb36950113 (patch) | |
tree | bdba7bdfa514c60404e900724bbe3f52b340fcd9 /Source/cmExportCommand.h | |
parent | 79077f83731e598298ec35392911848f87d32f23 (diff) | |
download | CMake-0ddc9f62e59b2b97625f50eb444093bb36950113.zip CMake-0ddc9f62e59b2b97625f50eb444093bb36950113.tar.gz CMake-0ddc9f62e59b2b97625f50eb444093bb36950113.tar.bz2 |
ENH: add cmExternalMakefileProjectGenerator, which should make it easier to
write generators for IDE projects, which use already existing makefiles
(current the kdevelop generator)
-first stept of the export interface, iniitial export() command
-more replacements for the FIND_XXX docs
Alex
Diffstat (limited to 'Source/cmExportCommand.h')
-rw-r--r-- | Source/cmExportCommand.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Source/cmExportCommand.h b/Source/cmExportCommand.h new file mode 100644 index 0000000..97f709f --- /dev/null +++ b/Source/cmExportCommand.h @@ -0,0 +1,85 @@ +/*========================================================================= + + Program: CMake - Cross-Platform Makefile Generator + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. + See Copyright.txt or http://www.cmake.org/HTML/Copyright.html 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 cmExportCommand_h +#define cmExportCommand_h + +#include "cmCommand.h" + +/** \class cmExportLibraryDependenciesCommand + * \brief Add a test to the lists of tests to run. + * + * cmExportLibraryDependenciesCommand adds a test to the list of tests to run + * + */ +class cmExportCommand : public cmCommand +{ +public: + /** + * This is a virtual constructor for the command. + */ + virtual cmCommand* Clone() + { + return new cmExportCommand; + } + + /** + * This is called when the command is first encountered in + * the CMakeLists.txt file. + */ + virtual bool InitialPass(std::vector<std::string> const& args); + + /** + * The name of the command as specified in CMakeList.txt. + */ + virtual const char* GetName() { return "EXPORT";} + + /** + * Succinct documentation. + */ + virtual const char* GetTerseDocumentation() + { + return + "Write out the dependency information for all targets of a project."; + } + + /** + * More documentation. + */ + virtual const char* GetFullDocumentation() + { + return + " EXPORT(TARGETS tgt1 tgt2 ... [PREFIX <prefix>] FILE <filename> [APPEND])\n" + "Create a file that can be included into a CMake listfile with the " + "INCLUDE command. The file will contain a number of SET commands " + "that will set all the variables needed for library dependency " + "information. This should be the last command in the top level " + "CMakeLists.txt file of the project. If the APPEND option is " + "specified, the SET commands will be appended to the given file " + "instead of replacing it."; + } + + cmTypeMacro(cmExportCommand, cmCommand); + +private: + bool ParseArgs(const std::vector<std::string>& args, std::string& filename, + std::string& prefix, std::string& exportName, + std::vector<std::string>& targets, bool& append ) const; + +}; + + +#endif |