Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/fceux.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/fceuVersion.pl')
-rwxr-xr-xscripts/fceuVersion.pl74
1 files changed, 74 insertions, 0 deletions
diff --git a/scripts/fceuVersion.pl b/scripts/fceuVersion.pl
new file mode 100755
index 00000000..67beaca0
--- /dev/null
+++ b/scripts/fceuVersion.pl
@@ -0,0 +1,74 @@
+#!/usr/bin/perl
+
+use strict;
+use File::Basename;
+#use File::Spec;
+
+my $format = 0;
+
+foreach my $arg (@ARGV)
+{
+ #print $arg, "\n";
+
+ if ($arg eq "-major")
+ {
+ $format = 1;
+ }
+ elsif ($arg eq "-minor")
+ {
+ $format = 2;
+ }
+ elsif ($arg eq "-patch")
+ {
+ $format = 3;
+ }
+}
+
+#my $file = File::Spec->rel2abs( __FILE__ );
+my $dirname = dirname(__FILE__);
+my $projRoot = "$dirname/..";
+my $versionHeader = "$projRoot/src/version.h";
+my $major = 1;
+my $minor = 0;
+my $patch = 0;
+
+#print "File: $file\n";
+#print "Dir $dirname\n";
+
+my $line;
+
+open INFILE, "$versionHeader" or die "Error: Could not open file: $versionHeader\n";
+while ($line = <INFILE>)
+{
+ #print $line;
+ if ($line =~ m/\s*#define\s+FCEU_VERSION_MAJOR\s+(\d+)/)
+ {
+ $major = $1;
+ }
+ elsif ($line =~ m/\s*#define\s+FCEU_VERSION_MINOR\s+(\d+)/)
+ {
+ $minor = $1;
+ }
+ elsif ($line =~ m/\s*#define\s+FCEU_VERSION_PATCH\s+(\d+)/)
+ {
+ $patch = $1;
+ }
+}
+close(INFILE);
+
+if ($format == 1)
+{
+ print "$major";
+}
+elsif ($format == 2)
+{
+ print "$minor";
+}
+elsif ($format == 3)
+{
+ print "$patch";
+}
+else
+{
+ print "$major.$minor.$patch";
+}