| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 
-    file Copyright.txt or https://cmake.org/licensing for details.  */
 
- #pragma once
 
- #include "cmConfigure.h" // IWYU pragma: keep
 
- #include <iosfwd>
 
- #include <memory>
 
- #include <string>
 
- #include <vector>
 
- #include "cmInstallGenerator.h"
 
- class cmExportInstallFileGenerator;
 
- class cmExportSet;
 
- class cmListFileBacktrace;
 
- class cmLocalGenerator;
 
- /** \class cmInstallExportGenerator
 
-  * \brief Support class for generating rules for creating export files.
 
-  */
 
- class cmInstallExportGenerator : public cmInstallGenerator
 
- {
 
- public:
 
-   cmInstallExportGenerator(cmExportSet* exportSet, std::string destination,
 
-                            std::string filePermissions,
 
-                            std::vector<std::string> const& configurations,
 
-                            std::string component, MessageLevel message,
 
-                            bool excludeFromAll, std::string filename,
 
-                            std::string targetNamespace,
 
-                            std::string cxxModulesDirectory,
 
-                            cmListFileBacktrace backtrace);
 
-   cmInstallExportGenerator(const cmInstallExportGenerator&) = delete;
 
-   ~cmInstallExportGenerator() override;
 
-   cmInstallExportGenerator& operator=(const cmInstallExportGenerator&) =
 
-     delete;
 
-   virtual char const* InstallSubcommand() const = 0;
 
-   cmExportSet* GetExportSet() { return this->ExportSet; }
 
-   bool Compute(cmLocalGenerator* lg) override;
 
-   cmLocalGenerator* GetLocalGenerator() const { return this->LocalGenerator; }
 
-   const std::string& GetNamespace() const { return this->Namespace; }
 
-   std::string const& GetMainImportFile() const { return this->MainImportFile; }
 
-   std::string const& GetDestination() const { return this->Destination; }
 
-   std::string GetDestinationFile() const;
 
-   std::string GetFileName() const { return this->FileName; }
 
-   std::string GetTempDir() const;
 
-   std::string GetCxxModuleDirectory() const
 
-   {
 
-     return this->CxxModulesDirectory;
 
-   }
 
- protected:
 
-   void GenerateScript(std::ostream& os) override;
 
-   void GenerateScriptConfigs(std::ostream& os, Indent indent) override;
 
-   void GenerateScriptActions(std::ostream& os, Indent indent) override;
 
-   std::string TempDirCalculate() const;
 
-   void ComputeTempDir();
 
-   cmExportSet* const ExportSet;
 
-   std::string const FilePermissions;
 
-   std::string const FileName;
 
-   std::string const Namespace;
 
-   std::string const CxxModulesDirectory;
 
-   cmLocalGenerator* LocalGenerator = nullptr;
 
-   std::string TempDir;
 
-   std::string MainImportFile;
 
-   std::unique_ptr<cmExportInstallFileGenerator> EFGen;
 
- };
 
 
  |