Merge pull request #228 from DOCGroup/jwillemsen-patch-1
[MPC.git] / modules / VC12ProjectCreator.pm
blobc2ed76a5c4ce56f1710b9cbc0b61134ad12a9884
1 package VC12ProjectCreator;
3 # ************************************************************
4 # Description : A VC12 Project Creator
5 # Author : Johnny Willemsen
6 # Create Date : 10/29/2013
7 # ************************************************************
9 # ************************************************************
10 # Pragmas
11 # ************************************************************
13 use strict;
15 use VC11ProjectCreator;
17 use vars qw(@ISA);
18 @ISA = qw(VC11ProjectCreator);
20 ## NOTE: We call the constant as a function to support Perl 5.6.
21 my %info = (Creator::cplusplus() => {'ext' => '.vcxproj',
22 'dllexe' => 'vc12exe',
23 'libexe' => 'vc12libexe',
24 'dll' => 'vc12dll',
25 'lib' => 'vc12lib',
26 'template' => [ 'vc10', 'vc10filters' ],
30 my %config = ('vcversion' => '12.00',
33 # ************************************************************
34 # Subroutine Section
35 # ************************************************************
37 sub get_info_hash {
38 my($self, $key) = @_;
40 ## If we have the setting in our information map, then use it.
41 return $info{$key} if (defined $info{$key});
43 ## Otherwise, see if our parent type can take care of it.
44 return $self->SUPER::get_info_hash($key);
47 sub get_configurable {
48 my($self, $name) = @_;
50 ## If we have the setting in our config map, then use it.
51 return $config{$name} if (defined $config{$name});
53 ## Otherwise, see if our parent type can take care of it.
54 return $self->SUPER::get_configurable($name);