31 lines
		
	
	
		
			678 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			678 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |