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 VC7ProjectCreator;
2
 
3
# ************************************************************
4
# Description   : A VC7 Project Creator
5
# Author        : Chad Elliott
6
# Create Date   : 4/23/2002
7
# ************************************************************
8
 
9
# ************************************************************
10
# Pragmas
11
# ************************************************************
12
 
13
use strict;
14
 
15
use GUID;
16
use ProjectCreator;
17
use VCProjectBase;
18
 
19
use vars qw(@ISA);
20
@ISA = qw(VCProjectBase ProjectCreator);
21
 
22
# ************************************************************
23
# Data Section
24
# ************************************************************
25
 
26
my(%info) = ('cplusplus' => {'ext'      => '.vcproj',
27
                             'dllexe'   => 'vc7exe',
28
                             'libexe'   => 'vc7libexe',
29
                             'dll'      => 'vc7dll',
30
                             'lib'      => 'vc7lib',
31
                             'template' => 'vc7',
32
                            },
33
             'csharp'    => {'ext'      => '.csproj',
34
                             'dllexe'   => 'vc7csharp',
35
                             'libexe'   => 'vc7csharp',
36
                             'dll'      => 'vc7csharp',
37
                             'lib'      => 'vc7csharp',
38
                             'template' => 'vc7csharp',
39
                            },
40
             'vb'        => {'ext'      => '.vbproj',
41
                             'dllexe'   => 'vc7vb',
42
                             'libexe'   => 'vc7vb',
43
                             'dll'      => 'vc7vb',
44
                             'lib'      => 'vc7vb',
45
                             'template' => 'vc7vb',
46
                            },
47
            );
48
 
49
# ************************************************************
50
# Subroutine Section
51
# ************************************************************
52
 
53
sub get_info_hash {
54
  my($self) = shift;
55
  my($key)  = shift;
56
  return $info{$key};
57
}
58
 
59
sub get_quote_symbol {
60
  #my($self) = shift;
61
  return '"';
62
}
63
 
64
 
65
sub get_gt_symbol {
66
  #my($self) = shift;
67
  return '>';
68
}
69
 
70
 
71
sub get_lt_symbol {
72
  #my($self) = shift;
73
  return '<';
74
}
75
 
76
 
77
sub get_and_symbol {
78
  #my($self) = shift;
79
  return '&&';
80
}
81
 
82
 
83
sub get_configurable {
84
  my($self)   = shift;
85
  my($name)   = shift;
86
  my(%config) = ('vcversion'    => '7.00',
87
                 'forloopscope' => 'TRUE',
88
                );
89
  return $config{$name};
90
}
91
 
92
 
93
sub fill_value {
94
  my($self)  = shift;
95
  my($name)  = shift;
96
  my($value) = undef;
97
 
98
  if ($name eq 'guid') {
99
    my($guid) = new GUID();
100
    $value = $guid->generate($self->project_file_name(),
101
                             $self->{'current_input'},
102
                             $self->getcwd());
103
  }
104
  else {
105
    $value = $self->get_configurable($name);
106
  }
107
  return $value;
108
}
109
 
110
 
111
sub project_file_extension {
112
  my($self) = shift;
113
  return $self->get_info_hash($self->get_language())->{'ext'};
114
}
115
 
116
 
117
sub get_dll_exe_template_input_file {
118
  my($self) = shift;
119
  return $self->get_info_hash($self->get_language())->{'dllexe'};
120
}
121
 
122
 
123
sub get_lib_exe_template_input_file {
124
  my($self) = shift;
125
  return $self->get_info_hash($self->get_language())->{'libexe'};
126
}
127
 
128
 
129
sub get_dll_template_input_file {
130
  my($self) = shift;
131
  return $self->get_info_hash($self->get_language())->{'dll'};
132
}
133
 
134
 
135
sub get_lib_template_input_file {
136
  my($self) = shift;
137
  return $self->get_info_hash($self->get_language())->{'lib'};
138
}
139
 
140
 
141
sub get_template {
142
  my($self) = shift;
143
  return $self->get_info_hash($self->get_language())->{'template'};
144
}
145
 
146
 
147
1;