Coverage Report

Created: 2026-04-29 07:01

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/CMake/Source/cmInstallFileSetGenerator.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 <iosfwd>
6
#include <map>
7
#include <string>
8
#include <vector>
9
10
#include "cmInstallGenerator.h"
11
12
class cmGeneratorTarget;
13
class cmGeneratorFileSet;
14
class cmListFileBacktrace;
15
class cmLocalGenerator;
16
17
class cmInstallFileSetGenerator : public cmInstallGenerator
18
{
19
public:
20
  cmInstallFileSetGenerator(std::string targetName, std::string fileSetName,
21
                            std::string destination,
22
                            std::string file_permissions,
23
                            std::vector<std::string> const& configurations,
24
                            std::string const& component, MessageLevel message,
25
                            bool exclude_from_all, bool optional,
26
                            cmListFileBacktrace backtrace);
27
  ~cmInstallFileSetGenerator() override;
28
29
  bool Compute(cmLocalGenerator* lg) override;
30
31
  std::string GetDestination(std::string const& config) const;
32
0
  std::string GetDestination() const { return this->Destination; }
33
0
  bool GetOptional() const { return this->Optional; }
34
0
  std::string GetFileSetName() const { return this->FileSetName; }
35
0
  cmGeneratorFileSet const* GetFileSet() const { return this->FileSet; };
36
0
  cmGeneratorTarget* GetTarget() const { return this->Target; }
37
38
protected:
39
  void GenerateScriptForConfig(std::ostream& os, std::string const& config,
40
                               Indent indent) override;
41
42
private:
43
  std::string TargetName;
44
  cmLocalGenerator* LocalGenerator;
45
  cmGeneratorFileSet const* FileSet;
46
  std::string const FileSetName;
47
  std::string const FilePermissions;
48
  bool const Optional;
49
  cmGeneratorTarget* Target;
50
51
  std::map<std::string, std::vector<std::string>> CalculateFilesPerDir(
52
    std::string const& config) const;
53
};