MNN/package_scripts/mac/build_whl.sh

54 lines
1.4 KiB
Bash
Raw Permalink Normal View History

2020-11-06 11:05:52 +08:00
set -e
usage() {
echo "Usage: $0 -o path -v python_versions [-b]"
echo -e "\t-o package files output directory"
2021-04-28 18:02:10 +08:00
echo -e "\t-p conda env names"
2020-12-15 14:12:35 +08:00
echo -e "\t-v MNN dist version"
2020-11-06 11:05:52 +08:00
echo -e "\t-b opencl backend"
exit 1
}
2020-12-15 14:12:35 +08:00
while getopts "o:p:v:b" opt; do
2020-11-06 11:05:52 +08:00
case "$opt" in
o ) path=$OPTARG ;;
2020-12-15 14:12:35 +08:00
p ) IFS="," read -a python_versions <<< $OPTARG ;;
v ) mnn_version=$OPTARG ;;
2020-11-06 11:05:52 +08:00
b ) opencl=true ;;
2020-12-15 14:12:35 +08:00
* ) usage ;;
2020-11-06 11:05:52 +08:00
esac
done
2022-02-18 11:30:27 +08:00
export MACOSX_DEPLOYMENT_TARGET=10.11
2020-11-06 11:05:52 +08:00
./schema/generate.sh
rm -rf $path && mkdir -p $path
PACKAGE_PATH=$(realpath $path)
2022-08-12 10:30:48 +08:00
CMAKE_ARGS="-DMNN_BUILD_CONVERTER=ON -DMNN_BUILD_TRAIN=ON -DCMAKE_BUILD_TYPE=Release -DMNN_BUILD_SHARED_LIBS=OFF -DMNN_AAPL_FMWK=OFF -DMNN_SEP_BUILD=OFF -DMNN_EXPR_SHAPE_EAGER=ON -DMNN_TRAIN_DEBUG=ON -DMNN_BUILD_OPENCV=ON -DMNN_IMGCODECS=ON -DMNN_BUILD_TORCH=ON"
2020-11-06 11:05:52 +08:00
if [ ! -z $opencl ]; then
CMAKE_ARGS="$CMAKE_ARGS -DMNN_OPENCL=ON"
fi
rm -rf pymnn_build && mkdir pymnn_build
pushd pymnn_build
2022-02-18 11:30:27 +08:00
cmake $CMAKE_ARGS .. && make MNN MNNTrain MNNConvert MNNOpenCV -j8
2020-11-06 11:05:52 +08:00
popd
pushd pymnn/pip_package
2021-01-06 16:29:37 +08:00
rm -rf build && mkdir build
2020-11-06 11:05:52 +08:00
rm -rf dist && mkdir dist
2022-08-12 10:30:48 +08:00
# source your conda.sh
# source ~/miniconda/etc/profile.d/conda.sh
2022-02-18 11:30:27 +08:00
if [ -z "$python_versions" ]; then
2021-04-28 18:02:10 +08:00
python build_wheel.py --version $mnn_version
else
for env in $python_versions; do
conda activate $env
python build_wheel.py --version $mnn_version
conda deactivate
done
fi
2020-11-06 11:05:52 +08:00
cp dist/* $PACKAGE_PATH
popd