summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2016-04-01 12:27:11 +0200
committerJohnny Willemsen <jwillemsen@remedy.nl>2016-04-01 12:27:11 +0200
commit375b259756a95475368c1eb4cbb37fd3472393de (patch)
tree324914bf58c7ea0389f3b3ae12d7b8703f033b7b /modules
parent4422c0c0e55ee01033c1b9f45df5bbc385f4fffb (diff)
downloadMPC-375b259756a95475368c1eb4cbb37fd3472393de.tar.gz
Update vc14 to vc15
* modules/VC15ProjectCreator.pm: * modules/VC15WorkspaceCreator.pm: * templates/vc15dll.mpt: * templates/vc15exe.mpt: * templates/vc15lib.mpt: * templates/vc15libexe.mpt: * templates/vc15platforms.mpt: Added.
Diffstat (limited to 'modules')
-rw-r--r--modules/VC15ProjectCreator.pm58
-rw-r--r--modules/VC15WorkspaceCreator.pm42
2 files changed, 100 insertions, 0 deletions
diff --git a/modules/VC15ProjectCreator.pm b/modules/VC15ProjectCreator.pm
new file mode 100644
index 00000000..fcaecb97
--- /dev/null
+++ b/modules/VC15ProjectCreator.pm
@@ -0,0 +1,58 @@
+package VC15ProjectCreator;
+
+# ************************************************************
+# Description : A vc15 (Visual Studio 15) Project Creator
+# Author : Johnny Willemsen
+# Create Date : 1/04/2016
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+use VC12ProjectCreator;
+
+use vars qw(@ISA);
+@ISA = qw(VC12ProjectCreator);
+
+## NOTE: We call the constant as a function to support Perl 5.6.
+my %info = (Creator::cplusplus() => {'ext' => '.vcxproj',
+ 'dllexe' => 'vc15exe',
+ 'libexe' => 'vc15libexe',
+ 'dll' => 'vc15dll',
+ 'lib' => 'vc15lib',
+ 'template' => [ 'vc10', 'vc10filters' ],
+ },
+ );
+
+my %config = ('vcversion' => '15.00',
+ 'toolsversion' => '15.0',
+ );
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub get_info_hash {
+ my($self, $key) = @_;
+
+ ## If we have the setting in our information map, then 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) = @_;
+
+ ## If we have the setting in our config map, then use it.
+ return $config{$name} if (defined $config{$name});
+
+ ## Otherwise, see if our parent type can take care of it.
+ return $self->SUPER::get_configurable($name);
+}
+
+1;
diff --git a/modules/VC15WorkspaceCreator.pm b/modules/VC15WorkspaceCreator.pm
new file mode 100644
index 00000000..6e01cdc4
--- /dev/null
+++ b/modules/VC15WorkspaceCreator.pm
@@ -0,0 +1,42 @@
+package VC14WorkspaceCreator;
+
+# ************************************************************
+# Description : A vc15 (Visual Studio 15) Workspace Creator
+# Author : Johnny Willemsen
+# Create Date : 01/05/2016
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+use VC15ProjectCreator;
+use VC12WorkspaceCreator;
+
+use vars qw(@ISA);
+@ISA = qw(VC12WorkspaceCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub pre_workspace {
+ my($self, $fh) = @_;
+ my $crlf = $self->crlf();
+
+ print $fh '', $crlf,
+ 'Microsoft Visual Studio Solution File, Format Version 12.00', $crlf;
+ $self->print_workspace_comment($fh,
+ '# Visual Studio 15', $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;