1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
5 #include "cmConfigure.h" // IWYU pragma: keep
10 #include "cmMakefileTargetGenerator.h"
12 class cmGeneratorTarget
;
14 class cmMakefileLibraryTargetGenerator
: public cmMakefileTargetGenerator
17 cmMakefileLibraryTargetGenerator(cmGeneratorTarget
* target
);
18 ~cmMakefileLibraryTargetGenerator() override
;
20 /* the main entry point for this class. Writes the Makefiles associated
22 void WriteRuleFiles() override
;
25 void WriteObjectLibraryRules();
26 void WriteStaticLibraryRules();
27 void WriteSharedLibraryRules(bool relink
);
28 void WriteModuleLibraryRules(bool relink
);
30 void WriteDeviceLibraryRules(const std::string
& linkRule
, bool relink
);
31 void WriteNvidiaDeviceLibraryRules(const std::string
& linkRuleVar
,
33 std::vector
<std::string
>& commands
,
34 const std::string
& targetOutput
);
35 void WriteLibraryRules(const std::string
& linkRule
,
36 const std::string
& extraFlags
, bool relink
);
37 // MacOSX Framework support methods
38 void WriteFrameworkRules(bool relink
);
40 // Store the computd framework version for OS X Frameworks.
41 std::string FrameworkVersion
;
44 std::string DeviceLinkObject
;