mirror of https://github.com/emgucv/emgucv.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
6.6 KiB
168 lines
6.6 KiB
#!/usr/bin/env bash -v
|
|
|
|
cd "$(dirname "$0")"
|
|
cd ../..
|
|
|
|
BUILD_FOLDER=build_$1
|
|
INSTALL_FOLDER=$PWD/platforms/macos/$BUILD_FOLDER/install
|
|
CMAKE_FIND_ROOT_FOLDER=$INSTALL_FOLDER
|
|
OPENVINO_OPTION=-DWITH_OPENVINO:BOOL=FALSE
|
|
|
|
if [ "$1" == "all" ]; then
|
|
BUILD_ARCH=-DMACOSX_DEPLOYMENT_TARGET=11.0
|
|
OSX_SYSROOT_OPTION=-DCMAKE_OSX_SYSROOT:STRING="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/"
|
|
CV_OPTIMIZATION=-DCV_DISABLE_OPTIMIZATION:BOOL=ON
|
|
CV_PNG_OPTION=-DWITH_PNG:BOOL=FALSE
|
|
echo "Building for default architecture"
|
|
else
|
|
BUILD_ARCH=-DCMAKE_OSX_ARCHITECTURES="$1"
|
|
CV_OPTIMIZATION=
|
|
CV_PNG_OPTION=-DBUILD_PNG:BOOL=TRUE
|
|
echo "Building for $1"
|
|
fi
|
|
|
|
BUILD_VTK=false
|
|
BUILD_FREETYPE=false
|
|
FREETYPE_OPTIONS=( -DEMGU_CV_WITH_FREETYPE:BOOL=FALSE -DBUILD_opencv_freetype:BOOL=FALSE )
|
|
|
|
if [[ $# -lt 2 ]]; then
|
|
CV_CONTRIB_OPTION=-DOPENCV_EXTRA_MODULES_PATH=../../../opencv_contrib/modules
|
|
TESSERACT_OPTION=-DEMGU_CV_WITH_TESSERACT:BOOL=TRUE
|
|
echo "Building with contrib module"
|
|
else
|
|
if [ "$2" == "core" ]; then
|
|
TESSERACT_OPTION=-DEMGU_CV_WITH_TESSERACT:BOOL=FALSE
|
|
echo "Building without contrib module"
|
|
elif [ "$2" == "mini" ]; then
|
|
TESSERACT_OPTION=-DEMGU_CV_WITH_TESSERACT:BOOL=FALSE
|
|
CV_MODULE_OPTION=-DBUILD_opencv_3d:BOOL=FALSE\ -DBUILD_opencv_calib:BOOL=FALSE\ -DBUILD_opencv_dnn:BOOL=FALSE\ -DBUILD_opencv_ml:BOOL=FALSE\ -DBUILD_opencv_photo:BOOL=FALSE\ -DBUILD_opencv_features2d:BOOL=FALSE\ -DBUILD_opencv_gapi:BOOL=FALSE\ -DBUILD_opencv_flann:BOOL=FALSE\ -DBUILD_opencv_video:BOOL=FALSE
|
|
echo "Building without contrib module"
|
|
elif [ "$2" == "vtk" ]; then
|
|
CV_CONTRIB_OPTION=-DOPENCV_EXTRA_MODULES_PATH=../../../opencv_contrib/modules
|
|
TESSERACT_OPTION=-DEMGU_CV_WITH_TESSERACT:BOOL=TRUE
|
|
echo "Building with vtk"
|
|
BUILD_VTK=true
|
|
elif [ "$2" == "freetype" ]; then
|
|
CV_CONTRIB_OPTION=-DOPENCV_EXTRA_MODULES_PATH=../../../opencv_contrib/modules
|
|
FREETYPE_OPTIONS=( -DEMGU_CV_WITH_FREETYPE:BOOL=TRUE )
|
|
echo "Building with freetype"
|
|
BUILD_FREETYPE=true
|
|
else
|
|
CV_CONTRIB_OPTION=-DOPENCV_EXTRA_MODULES_PATH=../../../opencv_contrib/modules
|
|
TESSERACT_OPTION=-DEMGU_CV_WITH_TESSERACT:BOOL=TRUE
|
|
echo "Building with contrib module"
|
|
fi
|
|
fi
|
|
|
|
cd eigen
|
|
mkdir -p $BUILD_FOLDER
|
|
cd $BUILD_FOLDER
|
|
cmake $BUILD_ARCH $OSX_SYSROOT_OPTION -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:STRING="$INSTALL_FOLDER" ..
|
|
cmake --build . --config Release --target install --parallel
|
|
cd ../..
|
|
|
|
|
|
|
|
if [ "$CV_CONTRIB_OPTION" != "" ]; then
|
|
cd 3rdParty
|
|
|
|
if [ "$BUILD_FREETYPE" = true ]; then
|
|
cd freetype2
|
|
mkdir -p $BUILD_FOLDER
|
|
cd $BUILD_FOLDER
|
|
cmake $BUILD_ARCH $OSX_SYSROOT_OPTION -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:STRING="$INSTALL_FOLDER" ../
|
|
cmake --build . --config Release --target install --parallel
|
|
cd ../..
|
|
fi
|
|
|
|
if [ "$2" == "openvino" ]; then
|
|
cd openvino
|
|
mkdir -p $BUILD_FOLDER
|
|
cd $BUILD_FOLDER
|
|
cmake $BUILD_ARCH $OSX_SYSROOT_OPTION -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:STRING="$INSTALL_FOLDER" ../
|
|
cmake --build . --config Release --target install --parallel
|
|
CMAKE_FIND_ROOT_FOLDER=$CMAKE_FIND_ROOT_FOLDER\;$INSTALL_FOLDER/runtime/cmake
|
|
OPENVINO_OPTION=-DWITH_OPENVINO:BOOL=TRUE\ -DOpenVINO_DIR:STRING=$OPENVINO_INSTALL_FOLDER
|
|
cd ../..
|
|
fi
|
|
|
|
cd ..
|
|
|
|
if [ "$BUILD_FREETYPE" = true ]; then
|
|
cd harfbuzz
|
|
mkdir -p $BUILD_FOLDER
|
|
cd $BUILD_FOLDER
|
|
cmake $BUILD_ARCH $OSX_SYSROOT_OPTION -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:STRING="$INSTALL_FOLDER" -DCMAKE_FIND_ROOT_PATH:STRING="$INSTALL_FOLDER" -DHB_HAVE_FREETYPE:BOOL=TRUE -DHB_BUILD_TESTS:BOOL=FALSE ..
|
|
cmake --build . --config Release --target install --parallel
|
|
cd ../..
|
|
fi
|
|
|
|
cd hdf5
|
|
mkdir -p $BUILD_FOLDER
|
|
cd $BUILD_FOLDER
|
|
cmake $BUILD_ARCH $OSX_SYSROOT_OPTION -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:STRING="$INSTALL_FOLDER" -DCMAKE_FIND_ROOT_PATH:STRING="$INSTALL_FOLDER" -DBUILD_TESTING:BOOL=FALSE -DHDF5_BUILD_EXAMPLES:BOOL=FALSE -DHDF5_BUILD_TOOLS:BOOL=FALSE -DHDF5_BUILD_UTILS:BOOL=FALSE ..
|
|
cmake --build . --config Release --target install --parallel
|
|
cd ../..
|
|
|
|
#echo BUILD_VTK: $BUILD_VTK
|
|
if [ "$BUILD_VTK" = true ]; then
|
|
cd vtk
|
|
mkdir -p $BUILD_FOLDER
|
|
cd $BUILD_FOLDER
|
|
VTK_OPTION=-DVTK_DIR:STRING="$PWD"
|
|
# VTK_OPTION=-DVTK_DIR:STRING="$INSTALL_FOLDER/lib/cmake/vtk-8.2/"
|
|
# VTK_OPTION=-DVTK_DIR:STRING="$INSTALL_FOLDER/"
|
|
cmake $BUILD_ARCH $OSX_SYSROOT_OPTION -DBUILD_TESTING:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:STRING="$INSTALL_FOLDER" -DCMAKE_FIND_ROOT_PATH:STRING="$INSTALL_FOLDER" -DCMAKE_CXX_FLAGS:STRING="-DPNG_ARM_NEON_OPT=0" -DCMAKE_C_FLAGS:STRING="-DPNG_ARM_NEON_OPT=0" ..
|
|
# cmake $BUILD_ARCH $OSX_SYSROOT_OPTION -DBUILD_TESTING:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE:BOOL=Release -DCMAKE_INSTALL_PREFIX:STRING="$INSTALL_FOLDER" -DCMAKE_FIND_ROOT_PATH:STRING="$INSTALL_FOLDER" -DVTK_MODULE_ENABLE_VTK_RenderingFreeType:STRING="NO" -DVTK_MODULE_ENABLE_VTK_png:STRING="NO" -DHDF5_EXTERNALLY_CONFIGURED=1 -DHDF5_EXTERNAL_LIB_PREFIX:STRING="vtk" ..
|
|
cmake --build . --config Release --target install --parallel
|
|
cd ../..
|
|
fi
|
|
else
|
|
VTK_OPTION=
|
|
fi
|
|
|
|
|
|
cd platforms/macos
|
|
mkdir -p $BUILD_FOLDER
|
|
cd $BUILD_FOLDER
|
|
|
|
set -x
|
|
cmake $BUILD_ARCH $OSX_SYSROOT_OPTION $CV_OPTIMIZATION \
|
|
-DCMAKE_BUILD_TYPE:STRING="Release" \
|
|
-DBUILD_PERF_TESTS=FALSE \
|
|
-DBUILD_TESTS:BOOL=FALSE \
|
|
-DBUILD_DOCS:BOOL=FALSE \
|
|
-DBUILD_JPEG:BOOL=TRUE \
|
|
-DBUILD_ZLIB:BOOL=TRUE \
|
|
-DBUILD_OPENEXR:BOOL=TRUE \
|
|
$CV_PNG_OPTION \
|
|
$OPENVINO_OPTION \
|
|
-DBUILD_TIFF:BOOL=TRUE \
|
|
-DWITH_WEBP:BOOL=OFF \
|
|
-DWITH_IPP:BOOL=OFF \
|
|
-DBUILD_opencv_ts:BOOL=OFF \
|
|
-DBUILD_opencv_java:BOOL=OFF \
|
|
-DBUILD_opencv_python2:BOOL=OFF \
|
|
-DBUILD_opencv_python3:BOOL=OFF \
|
|
-DBUILD_opencv_apps:BOOL=OFF \
|
|
-DWITH_CUDA:BOOL=OFF \
|
|
-DWITH_OBSENSOR:BOOL=OFF \
|
|
$CV_CONTRIB_OPTION \
|
|
$CV_MODULE_OPTION \
|
|
$TESSERACT_OPTION \
|
|
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
|
$VTK_OPTION \
|
|
-DCMAKE_FIND_ROOT_PATH:STRING=$CMAKE_FIND_ROOT_FOLDER \
|
|
-DEigen3_DIR:STRING="$PWD/../../../eigen/build" \
|
|
-DWITH_LAPACK:BOOL=OFF \
|
|
-DCMAKE_INSTALL_PREFIX:STRING=$INSTALL_FOLDER \
|
|
${FREETYPE_OPTIONS[@]} \
|
|
../../../
|
|
set +x
|
|
#-DCMAKE_CXX_FLAGS_RELEASE:STRING=-g0 \
|
|
#-DCMAKE_C_FLAGS_RELEASE:STRING=-g0 \
|
|
#-DCMAKE_SHARED_LINKER_FLAGS:STRING=-Wl,-dead_strip \
|
|
|
|
make
|
|
|
|
cd ..
|