/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
#ifndef cmInstallExportAndroidMKGenerator_h
#define cmInstallExportAndroidMKGenerator_h

#include "cmInstallExportGenerator.h"

class cmExportInstallFileGenerator;
class cmInstallFilesGenerator;
class cmInstallTargetGenerator;
class cmExportSet;
class cmMakefile;

/** \class cmInstallExportAndroidMKGenerator
 * \brief Generate rules for creating an export files.
 */
class cmInstallExportAndroidMKGenerator : public cmInstallExportGenerator
{
public:
  cmInstallExportAndroidMKGenerator(
    cmExportSet* exportSet, const char* dest, const char* file_permissions,
    const std::vector<std::string>& configurations, const char* component,
    MessageLevel message, bool exclude_from_all, const char* filename,
    const char* name_space, bool exportOld);
  ~cmInstallExportAndroidMKGenerator();

  bool Compute(cmLocalGenerator* lg) override;

protected:
  virtual void GenerateScript(std::ostream& os);
  virtual void GenerateScriptConfigs(std::ostream& os, Indent const& indent);
  virtual void GenerateScriptActions(std::ostream& os, Indent const& indent);
  void GenerateImportFile(cmExportSet const* exportSet);
  void GenerateImportFile(const char* config, cmExportSet const* exportSet);
};

#endif
