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 |