1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmInstallExportGenerator.h,v $
6 <<<<<<< cmInstallExportGenerator.h
7 Date: $Date: 2008/01/28 13:38:35 $
8 Version: $Revision: 1.5 $
10 Date: $Date: 2008-12-18 15:06:09 $
11 Version: $Revision: 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
;
34 /** \class cmInstallExportGenerator
35 * \brief Generate rules for creating an export files.
37 class cmInstallExportGenerator
: public cmInstallGenerator
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
,
46 ~cmInstallExportGenerator();
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();
58 std::string FilePermissions
;
60 std::string Namespace
;
64 std::string MainImportFile
;
65 cmExportInstallFileGenerator
* EFGen
;