summaryrefslogtreecommitdiff
path: root/ACE/MPC/modules/VC71WorkspaceCreator.pm
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/MPC/modules/VC71WorkspaceCreator.pm')
-rw-r--r--ACE/MPC/modules/VC71WorkspaceCreator.pm82
1 files changed, 82 insertions, 0 deletions
diff --git a/ACE/MPC/modules/VC71WorkspaceCreator.pm b/ACE/MPC/modules/VC71WorkspaceCreator.pm
new file mode 100644
index 00000000000..0c9ecdada1b
--- /dev/null
+++ b/ACE/MPC/modules/VC71WorkspaceCreator.pm
@@ -0,0 +1,82 @@
+package VC71WorkspaceCreator;
+
+# ************************************************************
+# Description : A VC7.1 Workspace Creator
+# Author : Chad Elliott
+# Create Date : 4/17/2003
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+
+use VC71ProjectCreator;
+use VC7WorkspaceCreator;
+
+use vars qw(@ISA);
+@ISA = qw(VC7WorkspaceCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+
+sub pre_workspace {
+ my($self, $fh) = @_;
+ my $crlf = $self->crlf();
+
+ ## This identifies it as a Visual Studio 2003 file
+ print $fh 'Microsoft Visual Studio Solution File, Format Version 8.00', $crlf;
+
+ ## Optionally print the workspace comment
+ $self->print_workspace_comment($fh,
+ '#', $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);
+}
+
+
+sub print_inner_project {
+ my($self, $fh, $gen, $pguid, $deps, $project_name, $name_to_guid_map) = @_;
+
+ if ($self->allow_empty_dependencies() || defined $$deps[0]) {
+ ## Print out the project dependencies
+ my $crlf = $self->crlf();
+ print $fh "\tProjectSection(ProjectDependencies) = postProject$crlf";
+ foreach my $dep (@$deps) {
+ my $guid = $name_to_guid_map->{$dep};
+ print $fh "\t\t{$guid} = {$guid}$crlf" if (defined $guid);
+ }
+ print $fh "\tEndProjectSection$crlf";
+ }
+}
+
+
+sub allow_empty_dependencies {
+ #my $self = shift;
+ return 1;
+}
+
+
+sub print_configs {
+ my($self, $fh, $configs) = @_;
+ my $crlf = $self->crlf();
+ foreach my $key (sort keys %$configs) {
+ print $fh "\t\t$key = $key$crlf";
+ }
+}
+
+
+sub print_dependencies {
+ ## These are done in the print_inner_project method
+}
+
+
+1;