diff options
author | Brad King <brad.king@kitware.com> | 2006-02-19 15:25:27 -0500 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2006-02-19 15:25:27 -0500 |
commit | 96f0266228d8fdf7d420c4a562e6988830fa4996 (patch) | |
tree | 2525ae96a1752df9f6024ee4f08c84c480bbe0a6 /Source/cmInstallGenerator.h | |
parent | 90c8ea1c03dea51c87fc75a38e018e5f9ce11546 (diff) | |
download | cmake-96f0266228d8fdf7d420c4a562e6988830fa4996.tar.gz |
ENH: Created new install script generation framework. The INSTALL command creates the generators which are later used by cmLocalGenerator to create the cmake_install.cmake files. A new target installation interface is provided by the INSTALL command which fixes several problems with the INSTALL_TARGETS command. See bug#2691. Bugs 1481 and 1695 are addressed by these changes.
Diffstat (limited to 'Source/cmInstallGenerator.h')
-rw-r--r-- | Source/cmInstallGenerator.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Source/cmInstallGenerator.h b/Source/cmInstallGenerator.h new file mode 100644 index 0000000000..fcb496c204 --- /dev/null +++ b/Source/cmInstallGenerator.h @@ -0,0 +1,48 @@ +/*========================================================================= + + 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 cmInstallGenerator_h +#define cmInstallGenerator_h + +#include "cmStandardIncludes.h" + +class cmLocalGenerator; + +/** \class cmInstallGenerator + * \brief Support class for generating install scripts. + * + */ +class cmInstallGenerator +{ +public: + cmInstallGenerator(); + virtual ~cmInstallGenerator(); + + void Generate(std::ostream& os, const char* config, + std::vector<std::string> const& configurationTypes); + + static void AddInstallRule(std::ostream& os, const char* dest, int type, + const char* files, bool optional = false, + const char* properties = 0); + +protected: + virtual void GenerateScript(std::ostream& os)=0; + + const char* ConfigurationName; + std::vector<std::string> const* ConfigurationTypes; +}; + +#endif |