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