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

Method ComputeViews

Source/cmWindowsRegistry.cxx:556–604  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

554
555#if defined(_WIN32) && !defined(__CYGWIN__)
556std::vector<cmWindowsRegistry::View> cmWindowsRegistry::ComputeViews(View view)
557{
558 switch (view) {
559 case View::Both:
560 switch (this->TargetSize) {
561 case 64:
562 return std::vector<View>{ View::Reg64, View::Reg32 };
563 break;
564 case 32:
565 return Is64BitWindows()
566 ? std::vector<View>{ View::Reg32, View::Reg64 }
567 : std::vector<View>{ View::Reg32 };
568 break;
569 default:
570 // No language specified, fallback to host architecture
571 return Is64BitWindows()
572 ? std::vector<View>{ View::Reg64, View::Reg32 }
573 : std::vector<View>{ View::Reg32 };
574 break;
575 }
576 break;
577 case View::Target:
578 switch (this->TargetSize) {
579 case 64:
580 return std::vector<View>{ View::Reg64 };
581 break;
582 case 32:
583 return std::vector<View>{ View::Reg32 };
584 break;
585 default:
586 break;
587 }
588 CM_FALLTHROUGH;
589 case View::Host:
590 return std::vector<View>{ Is64BitWindows() ? View::Reg64 : View::Reg32 };
591 break;
592 case View::Reg64_32:
593 return Is64BitWindows() ? std::vector<View>{ View::Reg64, View::Reg32 }
594 : std::vector<View>{ View::Reg32 };
595 break;
596 case View::Reg32_64:
597 return Is64BitWindows() ? std::vector<View>{ View::Reg32, View::Reg64 }
598 : std::vector<View>{ View::Reg32 };
599 break;
600 default:
601 return std::vector<View>{ view };
602 break;
603 }
604}
605#endif
606
607cm::optional<std::string> cmWindowsRegistry::ReadValue(

Callers 4

ReadValueMethod · 0.95
GetValueNamesMethod · 0.95
GetSubKeysMethod · 0.95
ExpandExpressionMethod · 0.95

Calls 1

Is64BitWindowsFunction · 0.85

Tested by

no test coverage detected