Skip to content

Commit

Permalink
Add helper scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
twistedfall committed Apr 16, 2021
1 parent 36ec913 commit cd4045c
Show file tree
Hide file tree
Showing 10 changed files with 193 additions and 0 deletions.
1 change: 1 addition & 0 deletions tools/.gitignore
@@ -0,0 +1 @@
/config.sh
8 changes: 8 additions & 0 deletions tools/env-32.sh
@@ -0,0 +1,8 @@
script_dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"

. "$script_dir/config.sh"

export PKG_CONFIG_PATH="$OPENCV_32_PKG_CONFIG_PATH"
export OPENCV_PACKAGE_NAME="$OPENCV_32_OPENCV_PACKAGE_NAME"
export LD_LIBRARY_PATH="$OPENCV_32_LD_LIBRARY_PATH"
export OPENCV_INCLUDE_PATHS="$OPENCV_32_OPENCV_INCLUDE_PATHS"
6 changes: 6 additions & 0 deletions tools/env-34.sh
@@ -0,0 +1,6 @@
script_dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"

. "$script_dir/config.sh"

export OpenCV_DIR="$OPENCV_34_CMAKE_DIR"
export LD_LIBRARY_PATH="$OPENCV_34_LD_LIBRARY_PATH"
9 changes: 9 additions & 0 deletions tools/env-4.sh
@@ -0,0 +1,9 @@
#!/bin/bash

script_dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"

. "$script_dir/config.sh"

export OpenCV_DIR="$OPENCV_4_CMAKE_DIR"
export LD_LIBRARY_PATH="$OPENCV_4_LD_LIBRARY_PATH"
export OPENCV_INCLUDE_PATHS="$OPENCV_4_OPENCV_INCLUDE_PATHS"
92 changes: 92 additions & 0 deletions tools/generate-bindings.sh
@@ -0,0 +1,92 @@
#!/bin/bash

script_dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"

. "$script_dir/config.sh"

export RUSTFLAGS=-Clink-arg=-fuse-ld=lld
export RUST_BACKTRACE=full
SRC_CPP_DIR="$script_dir/../src_cpp/"
OUT_DIR="$script_dir/../out/generator/"

cd "$script_dir/.."

if ! cargo build --release -p opencv-binding-generator --bin binding-generator; then
exit
fi

all_modules="alphamat
aruco
bgsegm
bioinspired
calib3d
ccalib
core
cudaarithm
cudabgsegm
cudacodec
cudafeatures2d
cudafilters
cudaimgproc
cudaobjdetect
cudaoptflow
cudastereo
cudawarping
cvv
dnn
dnn_superres
dpm
face
features2d
flann
freetype
fuzzy
gapi
hdf
hfs
highgui
img_hash
imgcodecs
imgproc
intensity_transform
line_descriptor
mcc
ml
objdetect
optflow
ovis
phase_unwrapping
photo
plot
quality
rapid
rgbd
saliency
sfm
shape
stereo
stitching
structured_light
superres
surface_matching
text
tracking
video
videoio
videostab
viz
xfeatures2d
ximgproc
xobjdetect
xphoto
wechat_qrcode
"
modules="${*:-$all_modules}"

for module in $modules; do
rm -f "$OUT_DIR/$module.rs" "$OUT_DIR/$module.externs.rs" "$OUT_DIR/$module.cpp" "$OUT_DIR/ocvrs_ephemeral_$module.hpp"
rm -f "$OUT_DIR"/???-"$module"-*.type.cpp "$OUT_DIR"/???-"$module"-*.type.rs
done

export OPENCV_BINDING_GENERATOR_EMIT_DEBUG=1
parallel --eta "$script_dir/../target/release/binding-generator" --debug "$OPENCV_4_HEADER_DIR" "$SRC_CPP_DIR" "$OUT_DIR" "{}" ::: $modules
11 changes: 11 additions & 0 deletions tools/macos-sync.sh
@@ -0,0 +1,11 @@
#!/bin/bash

set -e

script_dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"

. "$script_dir/config.sh"

cd "$script_dir/.."

rsync -av --progress --exclude "/target" --exclude "/.idea" ./ "$MACOS_ADDR:opencv-rust/"
13 changes: 13 additions & 0 deletions tools/regen-all.sh
@@ -0,0 +1,13 @@
#!/bin/bash

set -e

script_dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"

cd "$script_dir"

./regen.sh 32
./regen.sh 34
./regen.sh 4

rm -rf target/release/build/opencv-*
16 changes: 16 additions & 0 deletions tools/regen.sh
@@ -0,0 +1,16 @@
#!/bin/bash

set -e

branch="$1"

script_dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"

cd "$script_dir/.."

. "$script_dir/env-$branch.sh"

export RUSTFLAGS="-Clink-arg=-fuse-ld=lld"

touch build.rs
cargo -vv test --release
26 changes: 26 additions & 0 deletions tools/test.sh
@@ -0,0 +1,26 @@
#!/bin/bash

set -e

script_dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
cd "$script_dir/.."

export RUSTFLAGS="-Clink-arg=-fuse-ld=lld"
export OS_FAMILY="linux"

(
. "$script_dir/env-32.sh"
ci/script.sh
)

(
. "$script_dir/env-34.sh"
ci/script.sh
)

(
. "$script_dir/env-4.sh"
ci/script.sh
)

cargo clean
11 changes: 11 additions & 0 deletions tools/win-sync.sh
@@ -0,0 +1,11 @@
#!/bin/bash

set -e

script_dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"

. "$script_dir/config.sh"

cd "$script_dir/.."

rsync -av --progress --exclude "/target" --exclude "/.idea" ./ "$WIN_ADDR:opencv-rust/"

0 comments on commit cd4045c

Please sign in to comment.