mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	
		
			
	
	
		
			57 lines
		
	
	
	
		
			815 B
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
	
		
			815 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/sh
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# $1 - os name {linux|darwin|win}
							 | 
						||
| 
								 | 
							
								# $2 - [optional] raw version string "vX.Y-patchN-sha1". as from `git describe'
							 | 
						||
| 
								 | 
							
								#      (see below)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set -eu
							 | 
						||
| 
								 | 
							
								#set -x
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								croak() {
							 | 
						||
| 
								 | 
							
									echo "$0: $*" >&2
							 | 
						||
| 
								 | 
							
									exit 1
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[ $# -ge 1 ] || croak "missing OS argument"
							 | 
						||
| 
								 | 
							
								os=$1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ $# -eq 2 ] && [ "$2" ]; then
							 | 
						||
| 
								 | 
							
									v0=$2
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
									cmd="git describe --tags --abbrev=12"
							 | 
						||
| 
								 | 
							
									v0=$($cmd) || croak "odd; command '$cmd' failed"
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# strip off the 'v' prefix, if any
							 | 
						||
| 
								 | 
							
								v0=${v0#v}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								case $os in
							 | 
						||
| 
								 | 
							
									linux)
							 | 
						||
| 
								 | 
							
										v=$v0
							 | 
						||
| 
								 | 
							
										;;
							 | 
						||
| 
								 | 
							
									darwin|win)
							 | 
						||
| 
								 | 
							
										# split version string using a '-' separator
							 | 
						||
| 
								 | 
							
										IFS='-'
							 | 
						||
| 
								 | 
							
										set -- $v0
							 | 
						||
| 
								 | 
							
										v1=$1
							 | 
						||
| 
								 | 
							
										if [ $# -gt 1 ]; then
							 | 
						||
| 
								 | 
							
											v1=$v1.$2
							 | 
						||
| 
								 | 
							
										else
							 | 
						||
| 
								 | 
							
											v1=$v1.0
							 | 
						||
| 
								 | 
							
										fi
							 | 
						||
| 
								 | 
							
										case $os in
							 | 
						||
| 
								 | 
							
											darwin)
							 | 
						||
| 
								 | 
							
												v=$v1
							 | 
						||
| 
								 | 
							
												;;
							 | 
						||
| 
								 | 
							
											win)
							 | 
						||
| 
								 | 
							
												# always add '0' as the 4:th digit
							 | 
						||
| 
								 | 
							
												v=$v1.0
							 | 
						||
| 
								 | 
							
												;;
							 | 
						||
| 
								 | 
							
										esac
							 | 
						||
| 
								 | 
							
										;;
							 | 
						||
| 
								 | 
							
									*)
							 | 
						||
| 
								 | 
							
										v='git.missing.please.hardcode.version'
							 | 
						||
| 
								 | 
							
										;;
							 | 
						||
| 
								 | 
							
								esac
							 | 
						||
| 
								 | 
							
								printf '%s' $v
							 |