1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
package NMakeProjectCreator;
# ************************************************************
# Description : An NMake Project Creator
# Author : Chad Elliott
# Create Date : 5/31/2002
# ************************************************************
# ************************************************************
# Pragmas
# ************************************************************
use strict;
use ProjectCreator;
use WinProjectBase;
use MakeProjectBase;
use VCPropertyBase;
use vars qw(@ISA);
@ISA = qw(MakeProjectBase WinProjectBase ProjectCreator VCPropertyBase);
# ************************************************************
# Subroutine Section
# ************************************************************
sub project_file_extension {
#my $self = shift;
return '.mak';
}
sub get_dll_exe_template_input_file {
#my $self = shift;
return 'nmakeexe';
}
sub get_dll_template_input_file {
#my $self = shift;
return 'nmakedll';
}
sub get_properties {
my $self = shift;
## Create the map of properties that we support.
my $props = {};
## Merge in properties from all base projects
foreach my $base (@ISA) {
my $func = $base . '::get_properties';
my $p = $self->$func();
foreach my $key (keys %$p) {
$$props{$key} = $$p{$key};
}
}
return $props;
}
1;
|