Coverage Report

Created: 2026-06-15 07:03

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/CMake/Source/cmCMakePresetsArgs.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 <string>
6
7
class cmCMakePresetsArgsBase
8
{
9
public:
10
35
  virtual ~cmCMakePresetsArgsBase() = default;
11
12
35
  virtual bool HasPresetsArg() const { return !this->PresetName.empty(); };
13
0
  virtual void Clear() { this->PresetName.clear(); }
14
15
  std::string PresetName;
16
  std::string PresetsFile;
17
18
protected:
19
35
  cmCMakePresetsArgsBase() = default;
20
};
21
22
class cmCMakePresetsArgs : public cmCMakePresetsArgsBase
23
{
24
public:
25
  bool HasPresetsArg() const override
26
0
  {
27
0
    return this->cmCMakePresetsArgsBase::HasPresetsArg() || this->ListPresets;
28
0
  }
29
30
  void Clear() override
31
0
  {
32
0
    this->cmCMakePresetsArgsBase::Clear();
33
0
    this->ListPresets = false;
34
0
  }
35
36
  bool ListPresets = false;
37
};
38
39
class cmCMakePresetsConfigureArgs : public cmCMakePresetsArgsBase
40
{
41
public:
42
  enum class ListPresetsOption
43
  {
44
    None,
45
    Configure,
46
    Build,
47
    Test,
48
    Package,
49
    Workflow,
50
    All,
51
  };
52
53
  bool HasPresetsArg() const override
54
35
  {
55
35
    return this->cmCMakePresetsArgsBase::HasPresetsArg() ||
56
35
      this->ListPresets != ListPresetsOption::None;
57
35
  }
58
59
  void Clear() override
60
0
  {
61
0
    this->cmCMakePresetsArgsBase::Clear();
62
0
    this->ListPresets = ListPresetsOption::None;
63
0
  }
64
65
  ListPresetsOption ListPresets = ListPresetsOption::None;
66
};
67
68
class cmCMakePresetsWorkflowArgs : public cmCMakePresetsArgs
69
{
70
public:
71
  void Clear() override
72
0
  {
73
0
    this->cmCMakePresetsArgs::Clear();
74
0
    this->Fresh = false;
75
0
  }
76
77
  bool Fresh = false;
78
};