31 lines
		
	
	
		
			678 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			678 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | #!/usr/bin/env bash
 | ||
|  | # | ||
|  | # This script will install all cargo workspace libraries found in | ||
|  | # `programDir` as native programs. | ||
|  | set -e | ||
|  | 
 | ||
|  | # Directory to install libraries into | ||
|  | installDir="$(mkdir -p "$1"; cd "$1"; pwd)" | ||
|  | 
 | ||
|  | # Where to find custom programs | ||
|  | programDir="$2" | ||
|  | 
 | ||
|  | ( | ||
|  |   set -x | ||
|  |   cd "$programDir" | ||
|  |   cargo build --all --release | ||
|  | ) | ||
|  | 
 | ||
|  | for dir in "$programDir"/*; do | ||
|  |   for program in $programDir/target/release/deps/lib"$(basename "$dir")".{so,dylib,dll}; do | ||
|  |     if [[ -f $program ]]; then | ||
|  |       ( | ||
|  |         set -x | ||
|  |         mkdir -p "$installDir/bin/deps" | ||
|  |         rm -f "$installDir/bin/deps/$(basename "$program")" | ||
|  |         cp -v "$program" "$installDir"/bin/deps | ||
|  |       ) | ||
|  |     fi | ||
|  |   done | ||
|  | done |