Coverage Report

Created: 2026-02-09 06:05

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/CMake/Source/cmExportBuildPackageInfoGenerator.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
10
#include "cmExportBuildFileGenerator.h"
11
#include "cmExportPackageInfoGenerator.h"
12
13
namespace Json {
14
class Value;
15
}
16
17
class cmGeneratorTarget;
18
class cmPackageInfoArguments;
19
20
/** \class cmExportBuildPackageInfoGenerator
21
 * \brief Generate a file exporting targets from a build tree.
22
 *
23
 * cmExportBuildCMakeConfigGenerator generates a file exporting targets from
24
 * a build tree.  This exports the targets to the Common Package Specification
25
 * (https://cps-org.github.io/cps/).
26
 *
27
 * This is used to implement the export() command.
28
 */
29
class cmExportBuildPackageInfoGenerator
30
  : public cmExportBuildFileGenerator
31
  , public cmExportPackageInfoGenerator
32
{
33
public:
34
  cmExportBuildPackageInfoGenerator(cmPackageInfoArguments arguments);
35
36
protected:
37
  // Implement virtual methods from the superclass.
38
  bool GenerateMainFile(std::ostream& os) override;
39
  void GenerateImportTargetsConfig(std::ostream&, std::string const&,
40
                                   std::string const&) override
41
0
  {
42
0
  }
43
44
  void GenerateInterfacePropertiesConfig(Json::Value& configurations,
45
                                         cmGeneratorTarget* target,
46
                                         std::string const& config);
47
48
  std::string GetCxxModulesDirectory() const override;
49
};