MCPcopy Create free account
hub / github.com/Kitware/CMake / cmInstallTargetGenerator

Class cmInstallTargetGenerator

Source/cmInstallTargetGenerator.h:20–131  ·  view source on GitHub ↗

\class cmInstallTargetGenerator * \brief Generate target installation rules. */

Source from the content-addressed store, hash-verified

18 * \brief Generate target installation rules.
19 */
20class cmInstallTargetGenerator : public cmInstallGenerator
21{
22public:
23 cmInstallTargetGenerator(
24 std::string targetName, std::string const& dest, bool implib,
25 std::string file_permissions,
26 std::vector<std::string> const& configurations,
27 std::string const& component, MessageLevel message, bool exclude_from_all,
28 bool optional, cmListFileBacktrace backtrace = cmListFileBacktrace());
29 ~cmInstallTargetGenerator() override;
30
31 /** Select the policy for installing shared library linkable name
32 symlinks. */
33 enum NamelinkModeType
34 {
35 NamelinkModeNone,
36 NamelinkModeOnly,
37 NamelinkModeSkip
38 };
39 void SetNamelinkMode(NamelinkModeType mode) { this->NamelinkMode = mode; }
40 void SetImportlinkMode(NamelinkModeType mode)
41 {
42 this->ImportlinkMode = mode;
43 }
44
45 std::string GetInstallFilename(std::string const& config) const;
46
47 void GetInstallObjectNames(std::string const& config,
48 std::vector<std::string>& objects) const;
49
50 enum NameType
51 {
52 NameNormal,
53 NameImplib,
54 NameSO,
55 NameReal,
56 NameImplibReal
57 };
58
59 static std::string GetInstallFilename(cmGeneratorTarget const* target,
60 std::string const& config,
61 NameType nameType = NameNormal);
62
63 bool Compute(cmLocalGenerator* lg) override;
64
65 cmGeneratorTarget* GetTarget() const { return this->Target; }
66
67 bool IsImportLibrary() const { return this->ImportLibrary; }
68
69 std::string GetDestination(std::string const& config) const;
70
71 struct Files
72 {
73 // Names or paths of files to be read from the source or build tree.
74 // The paths may be computed as [FromDir/] + From[i].
75 std::vector<std::string> From;
76
77 // Corresponding names of files to be written in the install directory.

Callers

nothing calls this directly

Calls 1

cmListFileBacktraceClass · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…