| #!/usr/bin/perl |
| |
| sub usage() |
| { |
| print "Usage: generate-vers.pl /path/toproject.pbxproj"; |
| exit(0); |
| } |
| |
| (scalar @ARGV == 1) or usage(); |
| |
| open $pbxproj, $ARGV[0] or die "Couldn't open ".$ARGV[0]; |
| |
| $current_project_version = None; |
| $product_name = None; |
| |
| while ($line = <$pbxproj>) |
| { |
| chomp ($line); |
| |
| if ($current_project_version == None && |
| $line =~ /CURRENT_PROJECT_VERSION = ([0-9]+)/) |
| { |
| $current_project_version = $1; |
| } |
| |
| if ($product_name == None && |
| $line =~ /productName = ([^;]+)/) |
| { |
| $product_name = $1; |
| } |
| } |
| |
| if (!$product_name || !$current_project_version) |
| { |
| print "Couldn't get needed information from the .pbxproj"; |
| exit(-1); |
| } |
| |
| $uppercase_name = uc $product_name; |
| $lowercase_name = lc $product_name; |
| |
| close $pbxproj; |
| |
| $file_string = " const unsigned char ".$uppercase_name."VersionString[] __attribute__ ((used)) = \"@(#)PROGRAM:".$uppercase_name." PROJECT:".$lowercase_name."-".$current_project_version."\" \"\\n\"; const double ".$uppercase_name."VersionNumber __attribute__ ((used)) = (double)".$current_project_version.".;\n"; |
| |
| print $file_string; |