1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmInstallExportGenerator.h,v $
6 Date: $Date: 2008-01-28 13:38:35 $
7 Version: $Revision: 1.5 $
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
;
29 /** \class cmInstallExportGenerator
30 * \brief Generate rules for creating an export files.
32 class cmInstallExportGenerator
: public cmInstallGenerator
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
,
41 ~cmInstallExportGenerator();
43 typedef std::vector
<cmTargetExport
*> ExportSet
;
45 typedef cmInstallGeneratorIndent Indent
;
46 virtual void GenerateScript(std::ostream
& os
);
47 virtual void GenerateScriptConfigs(std::ostream
& os
, Indent
const& indent
);
48 virtual void GenerateScriptActions(std::ostream
& os
, Indent
const& indent
);
49 void GenerateImportFile(ExportSet
const* exportSet
);
50 void GenerateImportFile(const char* config
, ExportSet
const* exportSet
);
51 void ComputeTempDir();
54 std::string FilePermissions
;
56 std::string Namespace
;
60 std::string MainImportFile
;
61 cmExportInstallFileGenerator
* EFGen
;