diff --git a/distrib/msw/tmake/wxVersion.pm b/distrib/msw/tmake/wxVersion.pm new file mode 100644 index 0000000000..842d0291b2 --- /dev/null +++ b/distrib/msw/tmake/wxVersion.pm @@ -0,0 +1,53 @@ +package wxVersion; + +=head1 NAME + +wxVersion + +=head1 SYNOPSIS + + use wxVersion qw(GetVersion); + +=head1 METHODS + +=cut + +use strict; + +use base 'Exporter'; +use vars qw(@EXPORT_OK); + +@EXPORT_OK = qw(GetVersion); + +sub GetVersion() +{ + my $filename = "../../../include/wx/version.h"; + open(VERSION_H, $filename) or die "Can't open $filename: $!\n"; + + my %versions; + my $numGot = 0; + + while ( defined($_ = ) ) { + chomp; + + if ( /\s*#define\s+wxMAJOR_VERSION\s+(\d+)/ ) { + $versions{'MAJOR'} = $1; + $numGot++; + } + elsif ( /\s*#define\s+wxMINOR_VERSION\s+(\d+)/ ) { + $versions{'MINOR'} = $1; + $numGot++; + } + elsif ( /\s*#define\s+wxRELEASE_NUMBER\s+(\d+)/ ) { + $versions{'MICRO'} = $1; + $numGot++; + } + + last if $numGot == 3 # we've got everything we wanted + } + + $numGot == 3 or die "Failed to read the version from $filename.\n"; + + return %versions; +} +