1 package VC71WorkspaceCreator
;
3 # ************************************************************
4 # Description : A VC7.1 Workspace Creator
5 # Author : Chad Elliott
6 # Create Date : 4/17/2003
7 # ************************************************************
9 # ************************************************************
11 # ************************************************************
15 use VC71ProjectCreator
;
16 use VC7WorkspaceCreator
;
19 @ISA = qw(VC7WorkspaceCreator);
21 # ************************************************************
23 # ************************************************************
28 my $crlf = $self->crlf();
30 ## This identifies it as a Visual Studio 2003 file
31 print $fh 'Microsoft Visual Studio Solution File, Format Version 8.00', $crlf;
33 ## Optionally print the workspace comment
34 $self->print_workspace_comment($fh,
38 '# This file was generated by MPC. Any changes made directly to', $crlf,
39 '# this file will be lost the next time it is generated.', $crlf,
41 '# MPC Command:', $crlf,
42 '# ', $self->create_command_line_string($0, @ARGV), $crlf);
46 sub print_inner_project
{
47 my($self, $fh, $gen, $pguid, $deps, $project_name, $name_to_guid_map) = @_;
49 if ($self->allow_empty_dependencies() || defined $$deps[0]) {
50 ## Print out the project dependencies
51 my $crlf = $self->crlf();
52 print $fh "\tProjectSection(ProjectDependencies) = postProject$crlf";
53 foreach my $dep (@
$deps) {
54 my $guid = $name_to_guid_map->{$dep};
55 print $fh "\t\t{$guid} = {$guid}$crlf" if (defined $guid);
57 print $fh "\tEndProjectSection$crlf";
62 sub allow_empty_dependencies
{
69 my($self, $fh, $configs) = @_;
70 my $crlf = $self->crlf();
71 foreach my $key (sort keys %$configs) {
72 print $fh "\t\t$key = $key$crlf";
77 sub print_dependencies
{
78 ## These are done in the print_inner_project method