Resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / cmInstallExportGenerator.h
blobfeb74707cfff96232e67a949c8a4d7a5d9055880
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmInstallExportGenerator.h,v $
5 Language: C++
6 <<<<<<< cmInstallExportGenerator.h
7 Date: $Date: 2008/01/28 13:38:35 $
8 Version: $Revision: 1.5 $
9 =======
10 Date: $Date: 2008-12-18 15:06:09 $
11 Version: $Revision: 1.6 $
12 >>>>>>> 1.6
14 Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
15 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
17 This software is distributed WITHOUT ANY WARRANTY; without even
18 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
19 PURPOSE. See the above copyright notices for more information.
21 =========================================================================*/
22 #ifndef cmInstallExportGenerator_h
23 #define cmInstallExportGenerator_h
25 #include "cmInstallGenerator.h"
27 class cmExportInstallFileGenerator;
28 class cmInstallFilesGenerator;
29 class cmInstallTargetGenerator;
30 class cmTarget;
31 class cmTargetExport;
32 class cmMakefile;
34 /** \class cmInstallExportGenerator
35 * \brief Generate rules for creating an export files.
37 class cmInstallExportGenerator: public cmInstallGenerator
39 public:
40 cmInstallExportGenerator(const char* name,
41 const char* dest, const char* file_permissions,
42 const std::vector<std::string>& configurations,
43 const char* component,
44 const char* filename, const char* name_space,
45 cmMakefile* mf);
46 ~cmInstallExportGenerator();
47 protected:
48 typedef std::vector<cmTargetExport*> ExportSet;
50 virtual void GenerateScript(std::ostream& os);
51 virtual void GenerateScriptConfigs(std::ostream& os, Indent const& indent);
52 virtual void GenerateScriptActions(std::ostream& os, Indent const& indent);
53 void GenerateImportFile(ExportSet const* exportSet);
54 void GenerateImportFile(const char* config, ExportSet const* exportSet);
55 void ComputeTempDir();
57 std::string Name;
58 std::string FilePermissions;
59 std::string FileName;
60 std::string Namespace;
61 cmMakefile* Makefile;
63 std::string TempDir;
64 std::string MainImportFile;
65 cmExportInstallFileGenerator* EFGen;
68 #endif