Subversion Repositories gelsvn

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
107 bj 1
package VC6WorkspaceCreator;
2
 
3
# ************************************************************
4
# Description   : A VC6 Workspace Creator
5
# Author        : Chad Elliott
6
# Create Date   : 5/13/2002
7
# ************************************************************
8
 
9
# ************************************************************
10
# Pragmas
11
# ************************************************************
12
 
13
use strict;
14
 
15
use VC6ProjectCreator;
16
use WorkspaceCreator;
17
 
18
use vars qw(@ISA);
19
@ISA = qw(WorkspaceCreator);
20
 
21
# ************************************************************
22
# Subroutine Section
23
# ************************************************************
24
 
25
 
26
sub compare_output {
27
  #my($self) = shift;
28
  return 1;
29
}
30
 
31
 
32
sub crlf {
33
  my($self) = shift;
34
  return $self->windows_crlf();
35
}
36
 
37
 
38
sub workspace_file_name {
39
  my($self) = shift;
40
  return $self->get_modified_workspace_name($self->get_workspace_name(),
41
                                            '.dsw');
42
}
43
 
44
 
45
sub pre_workspace {
46
  my($self) = shift;
47
  my($fh)   = shift;
48
  my($crlf) = $self->crlf();
49
 
50
  print $fh 'Microsoft Developer Studio Workspace File, Format Version 6.00', $crlf,
51
            '#', $crlf,
52
            '# $Id: VC6WorkspaceCreator.pm 107 2005-09-02 16:42:23Z bj $', $crlf,
53
            '#', $crlf,
54
            '# This file was generated by MPC.  Any changes made directly to', $crlf,
55
            '# this file will be lost the next time it is generated.', $crlf,
56
            '#', $crlf,
57
            '# MPC Command:', $crlf,
58
            "# $0 @ARGV", $crlf,
59
            $crlf;
60
}
61
 
62
 
63
sub write_comps {
64
  my($self)     = shift;
65
  my($fh)       = shift;
66
  my($projects) = $self->get_projects();
67
  my($pjs)      = $self->get_project_info();
68
  my($crlf)     = $self->crlf();
69
 
70
  foreach my $project (@$projects) {
71
    my($name) = $$pjs{$project}->[0];
72
    my($deps) = $self->get_validated_ordering($project);
73
 
74
    print $fh "###############################################################################$crlf" .
75
              $crlf .
76
              "Project: \"$name\"=" . $self->slash_to_backslash($project) .
77
              " - Package Owner=<4>$crlf" .
78
              $crlf .
79
              "Package=<5>$crlf" .
80
              "{{{$crlf" .
81
              "}}}$crlf" .
82
              $crlf .
83
              "Package=<4>$crlf" .
84
              "{{{$crlf";
85
 
86
    if (defined $deps && $deps ne '') {
87
      my($darr) = $self->create_array($deps);
88
      foreach my $dep (@$darr) {
89
        ## Avoid cirular dependencies
90
        if ($name ne $dep) {
91
          print $fh "    Begin Project Dependency$crlf" .
92
                    "    Project_Dep_Name $dep$crlf" .
93
                    "    End Project Dependency$crlf";
94
        }
95
      }
96
    }
97
 
98
    print $fh "}}}$crlf$crlf";
99
  }
100
}
101
 
102
 
103
sub post_workspace {
104
  my($self) = shift;
105
  my($fh)   = shift;
106
  my($crlf) = $self->crlf();
107
 
108
  print $fh "###############################################################################$crlf" .
109
            $crlf .
110
            "Global:$crlf" .
111
            $crlf .
112
            "Package=<5>$crlf" .
113
            "{{{$crlf" .
114
            "}}}$crlf" .
115
            $crlf .
116
            "Package=<3>$crlf" .
117
            "{{{$crlf" .
118
            "}}}$crlf" .
119
            $crlf .
120
            "###############################################################################$crlf" .
121
            $crlf;
122
}
123
 
124
 
125
1;