Merge pull request #154 from LukeMouse/luketmp
[MPC.git] / modules / VS2022ProjectCreator.pm
blob2f9ce1912606195ff24e65493d118785c061b568
1 package VS2022ProjectCreator;
3 # ************************************************************
4 # Description : vs2022 (Visual Studio 2022) Project Creator
5 # ************************************************************
7 # ************************************************************
8 # Pragmas
9 # ************************************************************
11 use strict;
13 use VC12ProjectCreator;
15 use vars qw(@ISA);
16 @ISA = qw(VC12ProjectCreator);
18 ## NOTE: We call the constant as a function to support Perl 5.6.
19 my %info = (Creator::cplusplus() => {'ext' => '.vcxproj',
20 'dllexe' => 'vs2022exe',
21 'libexe' => 'vs2022libexe',
22 'dll' => 'vs2022dll',
23 'lib' => 'vs2022lib',
24 'template' => [ 'vc10', 'vc10filters' ],
28 my %config = ('vcversion' => '16.00',
29 'toolsversion' => '16.0',
32 # ************************************************************
33 # Subroutine Section
34 # ************************************************************
36 sub get_info_hash {
37 my($self, $key) = @_;
39 ## If we have the setting in our information map, then use it.
40 return $info{$key} if (defined $info{$key});
42 ## Otherwise, see if our parent type can take care of it.
43 return $self->SUPER::get_info_hash($key);
46 sub get_configurable {
47 my($self, $name) = @_;
49 ## If we have the setting in our config map, then use it.
50 return $config{$name} if (defined $config{$name});
52 ## Otherwise, see if our parent type can take care of it.
53 return $self->SUPER::get_configurable($name);