diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2014-06-04 09:35:35 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2014-06-04 09:35:35 +0000 |
commit | abf533c9c2890c19307c6c2678c4e950ef7e0e47 (patch) | |
tree | 959faf87391bd0de2981f4e7f19e7f8c734eb2a8 /modules | |
parent | c560c1c82058526828b74b224b74a0a6bbe89bb2 (diff) | |
download | MPC-abf533c9c2890c19307c6c2678c4e950ef7e0e47.tar.gz |
Wed Jun 4 09:36:54 UTC 2014 Johnny Willemsen <jwillemsen@remedy.nl>
* modules/VC14ProjectCreator.pm:
* modules/VC14WorkspaceCreator.pm:
* templates/vc14dll.mpt:
* templates/vc14exe.mpt:
* templates/vc14lib.mpt:
* templates/vc14libexe.mpt:
* templates/vc14platforms.mpt:
New files for msvc14, partly updated, not tested yet
Diffstat (limited to 'modules')
-rw-r--r-- | modules/VC14ProjectCreator.pm | 57 | ||||
-rw-r--r-- | modules/VC14WorkspaceCreator.pm | 44 |
2 files changed, 101 insertions, 0 deletions
diff --git a/modules/VC14ProjectCreator.pm b/modules/VC14ProjectCreator.pm new file mode 100644 index 00000000..02acbd83 --- /dev/null +++ b/modules/VC14ProjectCreator.pm @@ -0,0 +1,57 @@ +package VC14ProjectCreator; + +# ************************************************************ +# Description : A VC12 Project Creator +# Author : Johnny Willemsen +# Create Date : 10/29/2013 +# $Id$ +# ************************************************************ + +# ************************************************************ +# Pragmas +# ************************************************************ + +use strict; + +use VC10ProjectCreator; + +use vars qw(@ISA); +@ISA = qw(VC10ProjectCreator); + +## NOTE: We call the constant as a function to support Perl 5.6. +my %info = (Creator::cplusplus() => {'ext' => '.vcxproj', + 'dllexe' => 'vc14exe', + 'libexe' => 'vc14libexe', + 'dll' => 'vc14dll', + 'lib' => 'vc14lib', + 'template' => [ 'vc10', 'vc10filters' ], + }, + ); + +my %config = ('vcversion' => '14.00', + 'prversion' => '10.0.30319.1', + 'toolsversion' => '4.0', + 'targetframeworkversion' => '4.0', + 'xmlheader' => 1 + ); + +# ************************************************************ +# Subroutine Section +# ************************************************************ + +sub get_info_hash { + my($self, $key) = @_; + + ## If we have the setting in our information map, the use it. + return $info{$key} if (defined $info{$key}); + + ## Otherwise, see if our parent type can take care of it. + return $self->SUPER::get_info_hash($key); +} + +sub get_configurable { + my($self, $name) = @_; + return $config{$name}; +} + +1; diff --git a/modules/VC14WorkspaceCreator.pm b/modules/VC14WorkspaceCreator.pm new file mode 100644 index 00000000..0addbc16 --- /dev/null +++ b/modules/VC14WorkspaceCreator.pm @@ -0,0 +1,44 @@ +package VC14WorkspaceCreator; + +# ************************************************************ +# Description : A VC14 Workspace Creator +# Author : Johnny Willemsen +# Create Date : 06/04/2014 +# $Id$ +# ************************************************************ + +# ************************************************************ +# Pragmas +# ************************************************************ + +use strict; + +use VC14ProjectCreator; +use VC10WorkspaceCreator; + +use vars qw(@ISA); +@ISA = qw(VC10WorkspaceCreator); + +# ************************************************************ +# Subroutine Section +# ************************************************************ + +sub pre_workspace { + my($self, $fh) = @_; + my $crlf = $self->crlf(); + + print $fh '', $crlf, + 'Microsoft Visual Studio Solution File, Format Version 14.00', $crlf; + $self->print_workspace_comment($fh, + '# Visual Studio 2014', $crlf, + '# $Id$', $crlf, + '#', $crlf, + '# This file was generated by MPC. Any changes made directly to', $crlf, + '# this file will be lost the next time it is generated.', $crlf, + '#', $crlf, + '# MPC Command:', $crlf, + '# ', $self->create_command_line_string($0, @ARGV), $crlf); +} + + +1; |