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

Method New

Source/cmNinjaTargetGenerator.cxx:59–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

57#include "cmake.h"
58
59std::unique_ptr<cmNinjaTargetGenerator> cmNinjaTargetGenerator::New(
60 cmGeneratorTarget* target)
61{
62 switch (target->GetType()) {
63 case cmStateEnums::EXECUTABLE:
64 case cmStateEnums::SHARED_LIBRARY:
65 case cmStateEnums::STATIC_LIBRARY:
66 case cmStateEnums::MODULE_LIBRARY:
67 case cmStateEnums::OBJECT_LIBRARY:
68 return cm::make_unique<cmNinjaNormalTargetGenerator>(target);
69
70 case cmStateEnums::INTERFACE_LIBRARY:
71 if (target->HaveCxx20ModuleSources()) {
72 return cm::make_unique<cmNinjaNormalTargetGenerator>(target);
73 }
74 CM_FALLTHROUGH;
75
76 case cmStateEnums::UTILITY:
77 case cmStateEnums::GLOBAL_TARGET:
78 return cm::make_unique<cmNinjaUtilityTargetGenerator>(target);
79
80 default:
81 return std::unique_ptr<cmNinjaTargetGenerator>();
82 }
83}
84
85cmNinjaTargetGenerator::cmNinjaTargetGenerator(cmGeneratorTarget* target)
86 : cmCommonTargetGenerator(target)

Callers

nothing calls this directly

Calls 2

GetTypeMethod · 0.45

Tested by

no test coverage detected