Coverage Report

Created: 2026-07-14 07:09

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/CMake/Source/cmExportInstallAndroidMKGenerator.h
Line
Count
Source
1
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2
   file LICENSE.rst or https://cmake.org/licensing for details.  */
3
#pragma once
4
5
#include "cmConfigure.h" // IWYU pragma: keep
6
7
#include <iosfwd>
8
#include <string>
9
#include <vector>
10
11
#include "cmExportAndroidMKGenerator.h"
12
#include "cmExportInstallFileGenerator.h"
13
14
class cmGeneratorTarget;
15
class cmInstallExportGenerator;
16
17
/** \class cmExportInstallAndroidMKGenerator
18
 * \brief Generate files exporting targets from an install tree.
19
 *
20
 * cmExportInstallAndroidMKGenerator generates files exporting targets from
21
 * an installation tree.  The files are placed in a temporary location for
22
 * installation by cmInstallExportGenerator.  The file format is for the ndk
23
 * build system and is a makefile fragment specifying prebuilt libraries to the
24
 * ndk build system.
25
 *
26
 * This is used to implement the INSTALL(EXPORT_ANDROID_MK) command.
27
 */
28
class cmExportInstallAndroidMKGenerator
29
  : public cmExportAndroidMKGenerator
30
  , public cmExportInstallFileGenerator
31
{
32
public:
33
  /** Construct with the export installer that will install the
34
      files.  */
35
  cmExportInstallAndroidMKGenerator(cmInstallExportGenerator* iegen);
36
37
0
  std::string GetConfigImportFileGlob() const override { return {}; }
38
39
protected:
40
0
  GenerateType GetGenerateType() const override { return INSTALL; }
41
42
0
  char GetConfigFileNameSeparator() const override { return '-'; }
43
44
  // Implement virtual methods from the superclass.
45
  void ReportDuplicateTarget(std::string const& targetName) const;
46
  bool GenerateMainFile(std::ostream& os) override;
47
  void GenerateImportHeaderCode(std::ostream& os,
48
                                std::string const& config = "") override;
49
  void GenerateImportTargetCode(std::ostream& os,
50
                                cmGeneratorTarget const* target,
51
                                cm::TargetType /*targetType*/) override;
52
53
  void ComplainAboutMissingTarget(cmGeneratorTarget const* depender,
54
                                  cmGeneratorTarget const* dependee,
55
                                  std::vector<std::string> const& namespaces);
56
57
  void GenerateImportTargetsConfig(std::ostream& os, std::string const& config,
58
                                   std::string const& suffix) override
59
0
  {
60
0
    this->cmExportAndroidMKGenerator::GenerateImportTargetsConfig(os, config,
61
0
                                                                  suffix);
62
0
  }
63
64
0
  std::string GetCxxModulesDirectory() const override { return {}; }
65
};