Coverage Report

Created: 2026-09-14 06:43

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/CMake/Source/cmBinUtilsWindowsPELinker.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
4
#pragma once
5
6
#include <memory>
7
#include <string>
8
9
#include "cmBinUtilsLinker.h"
10
#include "cmBinUtilsWindowsPEGetRuntimeDependenciesTool.h"
11
12
class cmRuntimeDependencyArchive;
13
14
class cmBinUtilsWindowsPELinker : public cmBinUtilsLinker
15
{
16
public:
17
  cmBinUtilsWindowsPELinker(cmRuntimeDependencyArchive* archive);
18
19
  bool Prepare() override;
20
21
  bool ScanDependencies(std::string const& file, cm::TargetType type) override;
22
23
private:
24
  std::unique_ptr<cmBinUtilsWindowsPEGetRuntimeDependenciesTool> Tool;
25
26
  struct Dependency
27
  {
28
0
    Dependency() = default;
29
    Dependency(std::string casedName);
30
    std::string CasedName;
31
    std::string LowerName;
32
  };
33
34
  bool ResolveDependency(Dependency const& lib, std::string const& origin,
35
                         Dependency& path, bool& resolved);
36
};