Subversion Repositories gelsvn

Rev

Rev 107 | Go to most recent revision | Details | Compare with Previous | 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;
217 bj 18
use XMLProjectBase;
107 bj 19
 
20
use vars qw(@ISA);
217 bj 21
@ISA = qw(XMLProjectBase VCProjectBase ProjectCreator);
107 bj 22
 
23
# ************************************************************
24
# Data Section
25
# ************************************************************
26
 
27
my(%info) = ('cplusplus' => {'ext'      => '.vcproj',
28
                             'dllexe'   => 'vc7exe',
29
                             'libexe'   => 'vc7libexe',
30
                             'dll'      => 'vc7dll',
31
                             'lib'      => 'vc7lib',
32
                             'template' => 'vc7',
33
                            },
34
             'csharp'    => {'ext'      => '.csproj',
35
                             'dllexe'   => 'vc7csharp',
36
                             'libexe'   => 'vc7csharp',
37
                             'dll'      => 'vc7csharp',
38
                             'lib'      => 'vc7csharp',
39
                             'template' => 'vc7csharp',
40
                            },
41
             'vb'        => {'ext'      => '.vbproj',
42
                             'dllexe'   => 'vc7vb',
43
                             'libexe'   => 'vc7vb',
44
                             'dll'      => 'vc7vb',
45
                             'lib'      => 'vc7vb',
46
                             'template' => 'vc7vb',
47
                            },
48
            );
49
 
217 bj 50
my(%config) = ('vcversion'    => '7.00',
51
               'forloopscope' => 'TRUE',
52
              );
53
 
107 bj 54
# ************************************************************
55
# Subroutine Section
56
# ************************************************************
57
 
58
sub get_info_hash {
59
  my($self) = shift;
60
  my($key)  = shift;
61
  return $info{$key};
62
}
63
 
64
 
65
sub get_configurable {
217 bj 66
  my($self) = shift;
67
  my($name) = shift;
107 bj 68
  return $config{$name};
69
}
70
 
71
 
72
sub fill_value {
73
  my($self)  = shift;
74
  my($name)  = shift;
75
  my($value) = undef;
76
 
77
  if ($name eq 'guid') {
78
    my($guid) = new GUID();
79
    $value = $guid->generate($self->project_file_name(),
80
                             $self->{'current_input'},
81
                             $self->getcwd());
82
  }
217 bj 83
  elsif ($name eq 'language') {
84
    $value = $self->get_language();
85
  }
107 bj 86
  else {
87
    $value = $self->get_configurable($name);
88
  }
89
  return $value;
90
}
91
 
92
 
93
sub project_file_extension {
94
  my($self) = shift;
95
  return $self->get_info_hash($self->get_language())->{'ext'};
96
}
97
 
98
 
99
sub get_dll_exe_template_input_file {
100
  my($self) = shift;
101
  return $self->get_info_hash($self->get_language())->{'dllexe'};
102
}
103
 
104
 
105
sub get_lib_exe_template_input_file {
106
  my($self) = shift;
107
  return $self->get_info_hash($self->get_language())->{'libexe'};
108
}
109
 
110
 
111
sub get_dll_template_input_file {
112
  my($self) = shift;
113
  return $self->get_info_hash($self->get_language())->{'dll'};
114
}
115
 
116
 
117
sub get_lib_template_input_file {
118
  my($self) = shift;
119
  return $self->get_info_hash($self->get_language())->{'lib'};
120
}
121
 
122
 
123
sub get_template {
124
  my($self) = shift;
125
  return $self->get_info_hash($self->get_language())->{'template'};
126
}
127
 
128
 
129
1;