Coverage Report

Created: 2026-02-09 06:05

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
#include "cmStateTypes.h"
14
15
class cmGeneratorTarget;
16
class cmInstallExportGenerator;
17
18
/** \class cmExportInstallAndroidMKGenerator
19
 * \brief Generate files exporting targets from an install tree.
20
 *
21
 * cmExportInstallAndroidMKGenerator generates files exporting targets from
22
 * an installation tree.  The files are placed in a temporary location for
23
 * installation by cmInstallExportGenerator.  The file format is for the ndk
24
 * build system and is a makefile fragment specifying prebuilt libraries to the
25
 * ndk build system.
26
 *
27
 * This is used to implement the INSTALL(EXPORT_ANDROID_MK) command.
28
 */
29
class cmExportInstallAndroidMKGenerator
30
  : public cmExportAndroidMKGenerator
31
  , public cmExportInstallFileGenerator
32
{
33
public:
34
  /** Construct with the export installer that will install the
35
      files.  */
36
  cmExportInstallAndroidMKGenerator(cmInstallExportGenerator* iegen);
37
38
0
  std::string GetConfigImportFileGlob() const override { return {}; }
39
40
protected:
41
0
  GenerateType GetGenerateType() const override { return INSTALL; }
42
43
0
  char GetConfigFileNameSeparator() const override { return '-'; }
44
45
  // Implement virtual methods from the superclass.
46
  void ReportDuplicateTarget(std::string const& targetName) const;
47
  bool GenerateMainFile(std::ostream& os) override;
48
  void GenerateImportHeaderCode(std::ostream& os,
49
                                std::string const& config = "") override;
50
  void GenerateImportTargetCode(
51
    std::ostream& os, cmGeneratorTarget const* target,
52
    cmStateEnums::TargetType /*targetType*/) override;
53
54
  void ComplainAboutMissingTarget(cmGeneratorTarget const* depender,
55
                                  cmGeneratorTarget const* dependee,
56
                                  std::vector<std::string> const& namespaces);
57
58
  void GenerateImportTargetsConfig(std::ostream& os, std::string const& config,
59
                                   std::string const& suffix) override
60
0
  {
61
0
    this->cmExportAndroidMKGenerator::GenerateImportTargetsConfig(os, config,
62
0
                                                                  suffix);
63
0
  }
64
65
0
  std::string GetCxxModulesDirectory() const override { return {}; }
66
};