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.
769 lines
31 KiB
769 lines
31 KiB
REM @echo off
|
|
|
|
REM POSSIBLE OPTIONS:
|
|
REM %1%: "x86_64", "x86", "arm", "arm64"
|
|
REM %2%: "gpu", build with CUDA
|
|
REM %2%: "core", build only the core components
|
|
REM %2%: "mini", build only the minimum components (fewer components than "core" option above)
|
|
REM %3%: "intel_inf", build with intel compiler and using OpenVino
|
|
REM %3%: "intel", build with intel compiler
|
|
REM %3%: "inf", build with OpenVino
|
|
REM %3%: "WindowsStore10", target UWP
|
|
REM %3%: "vs2015", force to build with vs_2015, it may no longer work as of 2020
|
|
REM %3%: "commercial", use to enable optimization with targeting 32-bit architecture
|
|
REM %4%: "nonfree", build the nonfree module
|
|
REM %4%: "openni", build the openni module
|
|
REM %4%: "depthai", build the openni module
|
|
REM %5%: "doc", this flag indicates if we should build the documentation
|
|
REM %6%: "package", this flag indicates if we should build the ".zip" and ".exe" package
|
|
REM %7%: "build", if set to "build", the script will also build the target
|
|
REM %8%: "nuget", this flag indicates if we should build the nuget package
|
|
REM %9%: Use this field for the CUDA_ARCH_BIN_OPTION if you want to specify it manually. e.g. "6.1"
|
|
|
|
SET BUILD_FOLDER=build_%1%
|
|
SET BUILD_TOOLS_FOLDER=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
|
|
|
|
IF "%1%"=="x86" GOTO ENV_x86
|
|
IF "%1%"=="x86_64" GOTO ENV_x64
|
|
IF "%1%"=="arm" GOTO ENV_ARM
|
|
IF "%1%"=="arm64" GOTO ENV_ARM64
|
|
|
|
GOTO ENV_END
|
|
|
|
:ENV_x86
|
|
REM SET BUILD_FOLDER=%BUILD_FOLDER%_x86
|
|
ECHO "BUILDING x86 solution in %BUILD_FOLDER%"
|
|
IF EXIST "%BUILD_TOOLS_FOLDER%\vc\Auxiliary\Build\vcvars32.bat" SET ENV_SETUP_SCRIPT=%BUILD_TOOLS_FOLDER%\vc\Auxiliary\Build\vcvars32.bat
|
|
GOTO ENV_END
|
|
|
|
:ENV_x64
|
|
REM SET BUILD_FOLDER=%BUILD_FOLDER%_x64
|
|
ECHO "BUILDING x86_64 solution in %BUILD_FOLDER%"
|
|
IF EXIST "%BUILD_TOOLS_FOLDER%\vc\Auxiliary\Build\vcvars64.bat" SET ENV_SETUP_SCRIPT=%BUILD_TOOLS_FOLDER%\vc\Auxiliary\Build\vcvars64.bat
|
|
GOTO ENV_END
|
|
|
|
:ENV_ARM
|
|
REM SET BUILD_FOLDER=%BUILD_FOLDER%_ARM
|
|
ECHO "BUILDING ARM solution in %BUILD_FOLDER%"
|
|
IF EXIST "%BUILD_TOOLS_FOLDER%\vc\Auxiliary\Build\vcvarsamd64_arm.bat" SET ENV_SETUP_SCRIPT=%BUILD_TOOLS_FOLDER%\vc\Auxiliary\Build\vcvarsamd64_arm.bat
|
|
SET DEPTHAI_BUILD_FLAG=-DEMGU_CV_WITH_DEPTHAI:BOOL=FALSE
|
|
GOTO ENV_END
|
|
|
|
:ENV_ARM64
|
|
REM SET BUILD_FOLDER=%BUILD_FOLDER%_ARM64
|
|
ECHO "BUILDING ARM64 solution in %BUILD_FOLDER%"
|
|
IF EXIST "%BUILD_TOOLS_FOLDER%\vc\Auxiliary\Build\vcvarsamd64_arm64.bat" SET ENV_SETUP_SCRIPT=%BUILD_TOOLS_FOLDER%\vc\Auxiliary\Build\vcvarsamd64_arm64.bat
|
|
SET DEPTHAI_BUILD_FLAG=-DEMGU_CV_WITH_DEPTHAI:BOOL=FALSE
|
|
|
|
:ENV_END
|
|
IF "%ENV_SETUP_SCRIPT%"=="" GOTO ENV_SETUP_END
|
|
|
|
call "%ENV_SETUP_SCRIPT%"
|
|
|
|
@echo on
|
|
|
|
:ENV_SETUP_END
|
|
|
|
pushd %~p0
|
|
cd ..\..
|
|
SET ROOT_SRC_FOLDER=%cd%
|
|
IF NOT EXIST %BUILD_FOLDER% mkdir %BUILD_FOLDER%
|
|
cd %BUILD_FOLDER%
|
|
|
|
SET NETFX_CORE=""
|
|
IF "%3%"=="WindowsPhone81" SET NETFX_CORE="TRUE"
|
|
IF "%3%"=="WindowsStore81" SET NETFX_CORE="TRUE"
|
|
IF "%3%"=="WindowsStore10" SET NETFX_CORE="TRUE"
|
|
|
|
SET OS_MODE=
|
|
IF "%1%"=="x86_64" SET OS_MODE= Win64
|
|
IF "%1%"=="arm" SET OS_MODE= ARM
|
|
IF "%1%"=="arm64" SET OS_MODE= ARM64
|
|
|
|
SET BUILD_ARCH=
|
|
IF "%1%"=="x86_64" SET BUILD_ARCH=-A x64
|
|
IF "%1%"=="x86" SET BUILD_ARCH=-A Win32
|
|
IF "%1%"=="arm" SET BUILD_ARCH=-A ARM
|
|
IF "%1%"=="arm64" SET BUILD_ARCH=-A ARM64
|
|
|
|
SET PROGRAMFILES_DIR_X86=%programfiles(x86)%
|
|
if NOT EXIST "%PROGRAMFILES_DIR_X86%" SET PROGRAMFILES_DIR_X86=%programfiles%
|
|
SET PROGRAMFILES_DIR=%programfiles%
|
|
|
|
REM Find CMake
|
|
SET CMAKE="cmake.exe"
|
|
IF EXIST "%PROGRAMFILES_DIR_X86%\CMake 2.8\bin\cmake.exe" SET CMAKE="%PROGRAMFILES_DIR_X86%\CMake 2.8\bin\cmake.exe"
|
|
IF EXIST "%PROGRAMFILES_DIR_X86%\CMake\bin\cmake.exe" SET CMAKE="%PROGRAMFILES_DIR_X86%\CMake\bin\cmake.exe"
|
|
IF EXIST "%PROGRAMFILES_DIR%\CMake\bin\cmake.exe" SET CMAKE="%PROGRAMFILES_DIR%\CMake\bin\cmake.exe"
|
|
IF EXIST "%PROGRAMW6432%\CMake\bin\cmake.exe" SET CMAKE="%PROGRAMW6432%\CMake\bin\cmake.exe"
|
|
|
|
IF EXIST "CMakeCache.txt" del CMakeCache.txt
|
|
|
|
REM Find Visual Studio or Msbuild
|
|
SET VS2005="%VS80COMNTOOLS%..\IDE\devenv.com"
|
|
SET VS2008="%VS90COMNTOOLS%..\IDE\devenv.com"
|
|
SET VS2010="%VS100COMNTOOLS%..\IDE\devenv.com"
|
|
SET VS2012="%VS110COMNTOOLS%..\IDE\devenv.com"
|
|
SET VS2013="%VS120COMNTOOLS%..\IDE\devenv.com"
|
|
SET VS2015="%VS140COMNTOOLS%..\IDE\devenv.com"
|
|
|
|
FOR /F "tokens=* USEBACKQ" %%F IN (`..\miscellaneous\vswhere.exe -version [15.0^,16.0^) -property installationPath`) DO SET VS2017_DIR=%%F
|
|
SET VS2017="%VS2017_DIR%\Common7\IDE\devenv.com"
|
|
|
|
FOR /F "tokens=* USEBACKQ" %%F IN (`..\miscellaneous\vswhere.exe -version [16.0^,17.0^) -property installationPath`) DO SET VS2019_DIR=%%F
|
|
SET VS2019="%VS2019_DIR%\Common7\IDE\devenv.com"
|
|
|
|
FOR /F "tokens=* USEBACKQ" %%F IN (`..\miscellaneous\vswhere.exe -version [17.0^,18.0^) -property installationPath`) DO SET VS2022_DIR=%%F
|
|
SET VS2022="%VS2022_DIR%\Common7\IDE\devenv.com"
|
|
|
|
FOR /F "tokens=* USEBACKQ" %%F IN (`..\miscellaneous\vswhere.exe -products * -property installationPath`) DO SET VS_BUILDTOOLS=%%F
|
|
|
|
IF EXIST "%windir%\Microsoft.NET\Framework\v3.5\MSBuild.exe" SET MSBUILD35=%windir%\Microsoft.NET\Framework\v3.5\MSBuild.exe
|
|
IF EXIST "%windir%\Microsoft.NET\Framework64\v3.5\MSBuild.exe" SET MSBUILD35=%windir%\Microsoft.NET\Framework64\v3.5\MSBuild.exe
|
|
IF EXIST "%windir%\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" SET MSBUILD40=%windir%\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe
|
|
IF EXIST "%BUILD_TOOLS_FOLDER%\MSBuild\Current\Bin\MSBuild.exe" SET MSBUILD_BUILDTOOLS=%BUILD_TOOLS_FOLDER%\MSBuild\Current\Bin\MSBuild.exe
|
|
|
|
IF EXIST "%MSBUILD35%" SET DEVENV="%MSBUILD35%"
|
|
IF EXIST "%MSBUILD40%" SET DEVENV="%MSBUILD40%"
|
|
IF EXIST "%MSBUILD_BUILDTOOLS%" SET DEVENV="%MSBUILD_BUILDTOOLS%"
|
|
IF EXIST %VS2005% SET DEVENV=%VS2005%
|
|
IF EXIST %VS2008% SET DEVENV=%VS2008%
|
|
IF EXIST %VS2010% SET DEVENV=%VS2010%
|
|
IF "%4%"=="openni" GOTO SET_BUILD_TYPE
|
|
IF EXIST %VS2012% SET DEVENV=%VS2012%
|
|
IF EXIST %VS2013% SET DEVENV=%VS2013%
|
|
IF EXIST %VS2015% SET DEVENV=%VS2015%
|
|
|
|
REM CUDA 8.5 only support VS2015, if we target GPU we will stop checking for newer version of Visual Studio
|
|
REM IF "%2%"=="gpu" GOTO SET_BUILD_TYPE
|
|
|
|
REM For windows phone or store 81 build we should use VS2015
|
|
IF "%3%"=="WindowsPhone81" GOTO SET_BUILD_TYPE
|
|
|
|
REM Only check for VS2017 if there are no other suitable Visual Studio installation
|
|
REM We may default to VS2017 once CUDA 9 supports VS2017
|
|
REM IF EXIST %DEVENV% GOTO SET_BUILD_TYPE
|
|
|
|
IF "%3%"=="vs2015" GOTO SET_BUILD_TYPE
|
|
|
|
IF EXIST %VS2017% SET DEVENV=%VS2017%
|
|
REM CUDA 9 only support VS2017, if we target GPU we will stop checking for newer version of Visual Studio
|
|
|
|
REM Intel compiler is not compatible with VS2019 16.2, if we are compiling with Intel compiler, skip VS2019
|
|
REM IF "%3%"=="intel" GOTO SET_BUILD_TYPE
|
|
REM IF "%3%"=="intel_inf" GOTO SET_BUILD_TYPE
|
|
|
|
IF EXIST %VS2019% SET DEVENV=%VS2019%
|
|
|
|
IF EXIST %VS2022% SET DEVENV=%VS2022%
|
|
|
|
:SET_BUILD_TYPE
|
|
IF %DEVENV%=="%MSBUILD35%" SET BUILD_TYPE=/property:Configuration=Release
|
|
IF %DEVENV%=="%MSBUILD40%" SET BUILD_TYPE=/property:Configuration=Release
|
|
IF %DEVENV%=="%MSBUILD_BUILDTOOLS%" SET BUILD_TYPE=/property:Configuration=Release
|
|
IF %DEVENV%==%VS2005% SET BUILD_TYPE=/Build Release
|
|
IF %DEVENV%==%VS2008% SET BUILD_TYPE=/Build Release
|
|
IF %DEVENV%==%VS2010% SET BUILD_TYPE=/Build Release
|
|
IF %DEVENV%==%VS2012% SET BUILD_TYPE=/Build Release
|
|
IF %DEVENV%==%VS2013% SET BUILD_TYPE=/Build Release
|
|
IF %DEVENV%==%VS2015% SET BUILD_TYPE=/Build Release
|
|
IF %DEVENV%==%VS2017% SET BUILD_TYPE=/Build Release
|
|
IF %DEVENV%==%VS2019% SET BUILD_TYPE=/Build Release
|
|
IF %DEVENV%==%VS2022% SET BUILD_TYPE=/Build Release
|
|
|
|
IF %DEVENV%=="%MSBUILD35%" SET CMAKE_CONF="Visual Studio 12 2005%OS_MODE%"
|
|
IF %DEVENV%=="%MSBUILD40%" SET CMAKE_CONF="Visual Studio 16" %BUILD_ARCH%
|
|
IF %DEVENV%=="%MSBUILD_BUILDTOOLS%" SET CMAKE_CONF="Visual Studio 16" %BUILD_ARCH%
|
|
IF %DEVENV%==%VS2005% SET CMAKE_CONF="Visual Studio 8 2005%OS_MODE%"
|
|
IF %DEVENV%==%VS2008% SET CMAKE_CONF="Visual Studio 9 2008%OS_MODE%"
|
|
IF %DEVENV%==%VS2010% SET CMAKE_CONF="Visual Studio 10%OS_MODE%"
|
|
IF %DEVENV%==%VS2012% SET CMAKE_CONF="Visual Studio 11%OS_MODE%"
|
|
IF %DEVENV%==%VS2013% SET CMAKE_CONF="Visual Studio 12%OS_MODE%"
|
|
IF %DEVENV%==%VS2015% SET CMAKE_CONF="Visual Studio 14%OS_MODE%"
|
|
IF %DEVENV%==%VS2017% SET CMAKE_CONF="Visual Studio 15%OS_MODE%"
|
|
IF %DEVENV%==%VS2019% SET CMAKE_CONF="Visual Studio 16" %BUILD_ARCH%
|
|
IF %DEVENV%==%VS2022% SET CMAKE_CONF="Visual Studio 17" %BUILD_ARCH%
|
|
|
|
SET INSTALL_FOLDER=%cd%\install
|
|
SET HDF5_DIR=%INSTALL_FOLDER:\=/%/cmake/hdf5
|
|
SET OPENVINO_INSTALL_DIR=%INSTALL_FOLDER:\=/%/runtime/cmake
|
|
SET TBB_INSTALL_DIR=%ROOT_SRC_FOLDER:\=/%/3rdParty/openvino/temp/tbb/cmake
|
|
SET VTK_INSTALL_DIR=%INSTALL_FOLDER:\=/%/lib/cmake/vtk-9.2
|
|
SET GENERAL_CMAKE_CONFIG_FLAGS=%GENERAL_CMAKE_CONFIG_FLAGS% -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:STRING="%INSTALL_FOLDER:\=/%" -DCMAKE_FIND_ROOT_PATH:STRING="%INSTALL_FOLDER:\=/%;%OPENVINO_INSTALL_DIR%;%TBB_INSTALL_DIR%;%VTK_INSTALL_DIR%"
|
|
REM -DCMAKE_CXX_STANDARD:STRING=17
|
|
|
|
IF NOT "%3%"=="WindowsStore10" GOTO END_CONFIG_WINDOWS_STORE_10_GENERAL_CMAKE_CONFIG_FLAGS
|
|
SET GENERAL_CMAKE_CONFIG_FLAGS=%GENERAL_CMAKE_CONFIG_FLAGS% -DCMAKE_SYSTEM_NAME:String="WindowsStore"
|
|
IF %DEVENV%==%VS2017% SET GENERAL_CMAKE_CONFIG_FLAGS=%GENERAL_CMAKE_CONFIG_FLAGS% -DCMAKE_SYSTEM_VERSION:String="10.0.14393.0"
|
|
IF %DEVENV%==%VS2019% SET GENERAL_CMAKE_CONFIG_FLAGS=%GENERAL_CMAKE_CONFIG_FLAGS% -DCMAKE_SYSTEM_VERSION:String="10.0.18362.0"
|
|
IF %DEVENV%==%VS2022% SET GENERAL_CMAKE_CONFIG_FLAGS=%GENERAL_CMAKE_CONFIG_FLAGS% -DCMAKE_SYSTEM_VERSION:String="10.0.18362.0"
|
|
IF %DEVENV%=="%MSBUILD_BUILDTOOLS%" SET GENERAL_CMAKE_CONFIG_FLAGS=%GENERAL_CMAKE_CONFIG_FLAGS% -DCMAKE_SYSTEM_VERSION:String="10.0.18362.0"
|
|
:END_CONFIG_WINDOWS_STORE_10_GENERAL_CMAKE_CONFIG_FLAGS
|
|
|
|
REM Setup common flags
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS= -G %CMAKE_CONF% %GENERAL_CMAKE_CONFIG_FLAGS% ^
|
|
-DBUILD_DOCS:BOOL=FALSE ^
|
|
-DBUILD_TESTS:BOOL=FALSE ^
|
|
-DBUILD_opencv_apps:BOOL=FALSE ^
|
|
-DBUILD_opencv_java:BOOL=FALSE ^
|
|
-DBUILD_opencv_python2:BOOL=FALSE ^
|
|
-DBUILD_opencv_python3:BOOL=FALSE ^
|
|
-DBUILD_opencv_python_bindings_generator:BOOL=FALSE ^
|
|
-DBUILD_opencv_python_tests:BOOL=FALSE ^
|
|
-DBUILD_opencv_ts:BOOL=FALSE ^
|
|
-DBUILD_WITH_DEBUG_INFO:BOOL=FALSE ^
|
|
-DBUILD_WITH_STATIC_CRT:BOOL=FALSE ^
|
|
-DWITH_OPENGL:BOOL=FALSE ^
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_PNG:BOOL=TRUE ^
|
|
-DCMAKE_IGNORE_PATH:STRING="C:/python-virt/python37/Library;C:/python-virt/python37/Library/include;C:/python-virt/python37/Library/lib" ^
|
|
-DVIDEOIO_PLUGIN_LIST:STRING="ffmpeg"
|
|
REM -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB:BOOL=TRUE ^
|
|
|
|
REM -DWITH_VULKAN:BOOL=TRUE ^
|
|
REM -DCMAKE_DISABLE_FIND_PACKAGE_BZip2:BOOL=TRUE ^
|
|
|
|
REM For Freetype, removed the "d" postfix for debug mode.
|
|
REM SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
REM -DDISABLE_FORCE_DEBUG_POSTFIX:BOOL=TRUE
|
|
|
|
REM Setup the contrib modules
|
|
IF "%2%"=="mini" GOTO CONFIG_MINI
|
|
IF "%2%"=="core" GOTO CONFIG_CORE
|
|
|
|
:CONFIG_FULL
|
|
cd ..
|
|
|
|
REM Don't build freetype or HDF for ARM.
|
|
IF "%1%"=="arm" GOTO END_BUILD_HDF
|
|
IF "%1%"=="arm64" GOTO END_BUILD_HDF
|
|
|
|
:BUILD_FREETYPE
|
|
cd 3rdParty
|
|
cd freetype2
|
|
IF NOT EXIST %BUILD_FOLDER% mkdir %BUILD_FOLDER%
|
|
cd %BUILD_FOLDER%
|
|
%CMAKE% -G %CMAKE_CONF% %GENERAL_CMAKE_CONFIG_FLAGS% ^
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_ZLIB:BOOL=TRUE ^
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_BZip2:BOOL=TRUE ^
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_PNG:BOOL=TRUE ^
|
|
-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz:BOOL=TRUE ^
|
|
..
|
|
%CMAKE% --build . --config Release --target INSTALL
|
|
cd ..
|
|
cd ..
|
|
cd ..
|
|
SET FREETYPE_DIR=%cd%\3rdParty\freetype2\%BUILD_FOLDER%
|
|
REM SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DFreetype_DIR:STRING=%FREETYPE_DIR%
|
|
|
|
:BUILD_HARBUZZ
|
|
cd harfbuzz
|
|
IF NOT EXIST %BUILD_FOLDER% mkdir %BUILD_FOLDER%
|
|
cd %BUILD_FOLDER%
|
|
%CMAKE% -G %CMAKE_CONF% %GENERAL_CMAKE_CONFIG_FLAGS% -DHB_HAVE_FREETYPE:BOOL=TRUE ..
|
|
%CMAKE% --build . --config Release --target INSTALL
|
|
cd ..
|
|
cd ..
|
|
REM SET HARFBUZZ_DIR=%cd%\harfbuzz\%BUILD_FOLDER%
|
|
REM SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DHarfbuzz_DIR:STRING=%HARFBUZZ_DIR%
|
|
|
|
IF "%3%"=="WindowsStore10" GOTO END_BUILD_HDF
|
|
REM IF NOT "%3%"=="WindowsStore10" GOTO BUILD_HDF
|
|
REM SET HDF5_WIN_STORE10_FLAGS=-DH5_LDOUBLE_TO_LONG_SPECIAL_RUN:STRING="FAILED_TO_RUN" -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT:STRING=""
|
|
REM SET HDF5_WIN_STORE10_FLAGS=%HDF5_WIN_STORE10_FLAGS% -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN:STRING="FAILED_TO_RUN" -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT:STRING=""
|
|
REM SET HDF5_WIN_STORE10_FLAGS=%HDF5_WIN_STORE10_FLAGS% -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN:STRING="FAILED_TO_RUN" -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT:STRING=""
|
|
REM SET HDF5_WIN_STORE10_FLAGS=%HDF5_WIN_STORE10_FLAGS% -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN:STRING="FAILED_TO_RUN" -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT:STRING=""
|
|
REM SET HDF5_WIN_STORE10_FLAGS=%HDF5_WIN_STORE10_FLAGS% -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN:STRING="FAILED_TO_RUN" -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT:STRING=""
|
|
:BUILD_HDF
|
|
cd hdf5
|
|
IF NOT EXIST %BUILD_FOLDER% mkdir %BUILD_FOLDER%
|
|
cd %BUILD_FOLDER%
|
|
%CMAKE% -G %CMAKE_CONF% %GENERAL_CMAKE_CONFIG_FLAGS% -DBUILD_SHARED_LIBS:BOOL=FALSE -DBUILD_TESTING:BOOL=FALSE -DHDF5_BUILD_EXAMPLES:BOOL=FALSE -DHDF5_BUILD_TOOLS:BOOL=FALSE ..
|
|
%CMAKE% --build . --config Release --target INSTALL
|
|
cd ..
|
|
cd ..
|
|
SET HDF5_DIR=%BUILD_FOLDER%\install\cmake
|
|
:END_BUILD_HDF
|
|
|
|
cd %BUILD_FOLDER%
|
|
SET OPENCV_EXTRA_MODULES_DIR=%cd%\..\opencv_contrib\modules
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DOPENCV_EXTRA_MODULES_PATH:String="%OPENCV_EXTRA_MODULES_DIR:\=/%"
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DEMGU_CV_WITH_TESSERACT:BOOL=TRUE
|
|
|
|
|
|
IF %NETFX_CORE%=="TRUE" GOTO END_BUILD_VTK
|
|
IF "%1%"=="arm" GOTO END_BUILD_VTK
|
|
IF "%1%"=="arm64" GOTO END_BUILD_VTK
|
|
|
|
IF "%3%"=="inf" GOTO BUILD_VTK
|
|
IF "%3%"=="intel_inf" GOTO BUILD_VTK
|
|
|
|
GOTO END_BUILD_VTK
|
|
|
|
:BUILD_VTK
|
|
cd ..
|
|
cd vtk
|
|
IF NOT EXIST %BUILD_FOLDER% mkdir %BUILD_FOLDER%
|
|
cd %BUILD_FOLDER%
|
|
SET VTK_BUILD_DIR=%cd%
|
|
%CMAKE% -G %CMAKE_CONF% %GENERAL_CMAKE_CONFIG_FLAGS% -DBUILD_TESTING:BOOL=FALSE -DBUILD_SHARED_LIBS:BOOL=TRUE -DVTK_MODULE_ENABLE_VTK_RenderingContext2D:STRING="YES" -DVTK_MODULE_ENABLE_VTK_IOImage:STRING="YES" -DVTK_MODULE_ENABLE_VTK_IOGeometry:STRING="YES" -DVTK_MODULE_ENABLE_VTK_IOExport:STRING="YES" -DVTK_MODULE_ENABLE_VTK_RenderingFreeType:STRING="YES" -DVTK_MODULE_ENABLE_VTK_png:STRING="YES" ..
|
|
%CMAKE% --build . --config Release --target INSTALL
|
|
cd ..
|
|
cd ..
|
|
|
|
cd %BUILD_FOLDER%
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DVTK_DIR:String="%VTK_BUILD_DIR:\=/%"
|
|
REM SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DDEPTHAI_OPENCV_SUPPORT:BOOL=TRUE
|
|
|
|
:END_BUILD_VTK
|
|
|
|
|
|
GOTO END_CONFIG_CORE
|
|
|
|
:CONFIG_MINI
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -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
|
|
:END_CONFIG_MINI
|
|
|
|
:CONFIG_CORE
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DEMGU_CV_WITH_TESSERACT:BOOL=FALSE -DEMGU_CV_WITH_FREETYPE:BOOL=FALSE
|
|
SET DEPTHAI_BUILD_FLAG=-DEMGU_CV_WITH_DEPTHAI:BOOL=FALSE
|
|
:END_CONFIG_CORE
|
|
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% %DEPTHAI_BUILD_FLAG%
|
|
|
|
SET BUILD_TYPE=OPEN_SOURCE
|
|
|
|
REM GPU performance test on windows cause compilation error, skipping it now
|
|
IF "%2%"=="gpu" GOTO NO_PERFORMANCE_TEST
|
|
|
|
REM Intel compiler performance test on windows cause compilation error, skipping it now
|
|
IF "%3%"=="intel" GOTO NO_PERFORMANCE_TEST
|
|
IF "%3%"=="intel_inf" GOTO NO_PERFORMANCE_TEST
|
|
|
|
REM NETFX_CORE performance test cause compilation issue, skipping it now
|
|
IF %NETFX_CORE%=="" GOTO WITH_PERFORMANCE_TEST
|
|
|
|
:NO_PERFORMANCE_TEST
|
|
REM BUILD WITHOUT PERFORMANCE TEST
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DBUILD_opencv_ts:BOOL=OFF ^
|
|
-DBUILD_PERF_TESTS:BOOL=OFF
|
|
GOTO END_PERFORMANCE_TEST
|
|
|
|
:WITH_PERFORMANCE_TEST
|
|
REM BUDILD WITH PERFORMANCE TEST
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DBUILD_opencv_ts:BOOL=ON ^
|
|
-DBUILD_PERF_TESTS:BOOL=ON
|
|
|
|
:END_PERFORMANCE_TEST
|
|
|
|
|
|
|
|
IF NOT "%4%"=="openni" GOTO END_OF_OPENNI
|
|
:WITH_OPENNI
|
|
SET OPENNI_LIB_DIR=%OPEN_NI_LIB%
|
|
IF "%OS_MODE%"==" Win64" SET OPENNI_LIB_DIR=%OPEN_NI_LIB64%
|
|
SET OPENNI_PS_BIN_DIR=%OPENNI_LIB_DIR%\..\..\PrimeSense\Sensor\Bin
|
|
IF "%OS_MODE%"==" Win64" SET OPENNI_PS_BIN_DIR=%OPENNI_LIB_DIR%\..\..\PrimeSense\Sensor\Bin64
|
|
|
|
IF EXIST "%OPENNI_LIB_DIR%" SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DWITH_OPENNI:BOOL=TRUE ^
|
|
-DOPENNI_INCLUDE_DIR:String="%OPEN_NI_INCLUDE:\=/%" ^
|
|
-DOPENNI_LIB_DIR:String="%OPENNI_LIB_DIR:\=/%" ^
|
|
-DOPENNI_PRIME_SENSOR_MODULE_BIN_DIR:String="%OPENNI_PS_BIN_DIR:\=/%"
|
|
:END_OF_OPENNI
|
|
|
|
IF NOT "%4%"=="nonfree" GOTO END_OF_NONFREE
|
|
:WITH_NONFREE
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DOPENCV_ENABLE_NONFREE:BOOL=TRUE
|
|
:END_OF_NONFREE
|
|
|
|
IF NOT "%4%"=="depthai" GOTO END_OF_DEPTHAI
|
|
:WITH_DEPTHAI
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DEMGU_CV_WITH_DEPTHAI:BOOL=TRUE
|
|
:END_OF_DEPTHAI
|
|
|
|
|
|
IF "%5%"=="doc" ^
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DEMGU_CV_DOCUMENTATION_BUILD:BOOL=TRUE
|
|
REM IF "%5%"=="htmldoc" ^
|
|
REM SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DEMGU_CV_DOCUMENTATION_BUILD:BOOL=TRUE
|
|
|
|
cd ..
|
|
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DCMAKE_INSTALL_PREFIX:STRING="%INSTALL_FOLDER:\=/%"
|
|
|
|
cd eigen
|
|
IF NOT EXIST %BUILD_FOLDER% mkdir %BUILD_FOLDER%
|
|
cd %BUILD_FOLDER%
|
|
%CMAKE% -G %CMAKE_CONF% %GENERAL_CMAKE_CONFIG_FLAGS% ..
|
|
%CMAKE% --build . --config Release --target INSTALL
|
|
SET EIGEN_DIR=%cd%
|
|
cd ..
|
|
cd ..
|
|
|
|
REM SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DEigen3_DIR:STRING=%EIGEN_DIR%
|
|
|
|
cd %BUILD_FOLDER%
|
|
|
|
|
|
|
|
|
|
IF NOT "%2%"=="gpu" GOTO WITHOUT_GPU
|
|
REM IF %DEVENV%==%VS2012% GOTO END_OF_GPU
|
|
REM IF %DEVENV%==%VS2013% GOTO END_OF_GPU
|
|
|
|
:WITH_GPU
|
|
REM SET CUDA_HOST_COMPILER=%DEVENV%
|
|
IF %DEVENV%==%VS2008% SET CUDA_HOST_COMPILER=%VS90COMNTOOLS%..\..\VC\bin\cl.exe
|
|
IF %DEVENV%==%VS2010% SET CUDA_HOST_COMPILER=%VS100COMNTOOLS%..\..\VC\bin\cl.exe
|
|
IF %DEVENV%==%VS2012% SET CUDA_HOST_COMPILER=%VS110COMNTOOLS%..\..\VC\bin\cl.exe
|
|
IF %DEVENV%==%VS2013% SET CUDA_HOST_COMPILER=%VS120COMNTOOLS%..\..\VC\bin\cl.exe
|
|
IF %DEVENV%==%VS2015% SET CUDA_HOST_COMPILER=%VS140COMNTOOLS%..\..\VC\bin\cl.exe
|
|
|
|
for /d %%i in ( "%VS2017_DIR%\VC\Tools\MSVC\*" ) do SET VS2017_CUDA_HOST_COMPILER=%%i\bin\Hostx64\x64\cl.exe
|
|
IF %DEVENV%==%VS2017% SET CUDA_HOST_COMPILER=%VS2017_CUDA_HOST_COMPILER%
|
|
|
|
for /d %%i in ( "%VS2019_DIR%\VC\Tools\MSVC\*" ) do SET VS2019_CUDA_HOST_COMPILER=%%i\bin\Hostx64\x64\cl.exe
|
|
IF %DEVENV%==%VS2019% SET CUDA_HOST_COMPILER=%VS2019_CUDA_HOST_COMPILER%
|
|
|
|
for /d %%i in ( "%VS2022_DIR%\VC\Tools\MSVC\*" ) do SET VS2022_CUDA_HOST_COMPILER=%%i\bin\Hostx64\x64\cl.exe
|
|
IF %DEVENV%==%VS2022% SET CUDA_HOST_COMPILER=%VS2022_CUDA_HOST_COMPILER%
|
|
|
|
for /d %%i in ( "%BUILD_TOOLS_FOLDER%\VC\Tools\MSVC\14.2*" ) do SET BUILDTOOLS_CUDA_HOST_COMPILER=%%i\bin\Hostx64\x64\cl.exe
|
|
IF %DEVENV%=="%MSBUILD_BUILDTOOLS%" SET CUDA_HOST_COMPILER=%BUILDTOOLS_CUDA_HOST_COMPILER%
|
|
|
|
REM Find cuda. Use latest Cuda release for 64 bit and Cuda 6.5 for 32bit
|
|
REM We cannot use latest Cuda release for 32 bit because the 32bit version of npp has been depreciated from Cuda 7
|
|
IF "%OS_MODE%"==" Win64" GOTO WITH_GPU_64
|
|
|
|
:WITH_GPU_32
|
|
SET CUDA_SDK_DIR=%CUDA_PATH_V6_5%
|
|
SET CUDA_64_MODE=-DCUDA_64_BIT_DEVICE_CODE:BOOL=FALSE
|
|
GOTO END_GPU_ARCH
|
|
|
|
:WITH_GPU_64
|
|
REM If you are using CUDA 9 with Open CV 3.3 release you will need to create an nppi.lib file with instructions from here:
|
|
REM https://stackoverflow.com/questions/45525377/installing-opencv-3-3-0-with-contrib-modules-using-cmake-cuda-9-0-rc-and-visual
|
|
|
|
SET CUDA_SDK_DIR=%CUDA_PATH%
|
|
|
|
REM prefer CUDA 12.8
|
|
IF EXIST "%CUDA_PATH_V12_8%" SET CUDA_SDK_DIR=%CUDA_PATH_V12_8%
|
|
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V12_9%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V12_8%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V12_6%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V12_0%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V11_8%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V11_6%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V11_3%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V11_1%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V11_0%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V10_1%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V10_0%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V9_1%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V9_0%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V8_0%
|
|
IF NOT EXIST "%CUDA_SDK_DIR%" SET CUDA_SDK_DIR=%CUDA_PATH_V7_5%
|
|
SET CUDA_64_MODE=-DCUDA_64_BIT_DEVICE_CODE:BOOL=TRUE
|
|
SET CUDA_NVCUVID_HEADER="%CUDA_SDK_DIR%\include\nvcuvid.h"
|
|
IF EXIST %CUDA_NVCUVID_HEADER% SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DWITH_NVCUVID:BOOL=TRUE
|
|
|
|
REM -DCUDA_nvcuvenc_LIBRARY:String=%CUDA_NVCUVENC_DIR:\=/% ^
|
|
:END_GPU_ARCH
|
|
|
|
|
|
REM IF "%CUDA_SDK_DIR%"=="%CUDA_PATH_V9_1%" IF %DEVENV%==%VS2017% GOTO START_FIND_CL
|
|
REM IF "%CUDA_SDK_DIR%"=="%CUDA_PATH_V9_0%" IF %DEVENV%==%VS2017% GOTO START_FIND_CL
|
|
|
|
REM GOTO END_FIND_CL
|
|
|
|
REM :START_FIND_CL
|
|
REM SET MSVC_14_11=%VS2017_DIR%\VC\Tools\MSVC\14.11.25503\bin\Hostx64\x64\cl.exe
|
|
REM SET MSVC_14_12=%VS2017_DIR%\VC\Tools\MSVC\14.14.12.25827\bin\Hostx64\x64\cl.exe
|
|
REM CUDA 9.0 or 9.1 is not compatible with MSVC_14_12 in VS2017, forcing it to use 14.11
|
|
REM IF EXIST "%MSVC_14_11%" SET CUDA_HOST_COMPILER=%MSVC_14_11%
|
|
REM pushd "%VS2017_DIR%\VC\Auxiliary\Build\"
|
|
REM call vcvars64.bat -vcvars_ver=14.11
|
|
REM popd
|
|
REM SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DCUDA_HOST_COMPILER:String="%CUDA_HOST_COMPILER%"
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DCUDA_HOST_COMPILER:String="%CUDA_HOST_COMPILER:\=/%"
|
|
|
|
REM :END_FIND_CL
|
|
|
|
IF NOT "%9%"=="" GOTO GPU_ARCH_BIN_SPECIFIED
|
|
SET CUDA_ARCH_BIN_OPTION=""
|
|
IF EXIST "%CUDA_SDK_DIR%" SET CUDA_ARCH_BIN_OPTION="5.2 6.1 7.5"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V8_0%" SET CUDA_ARCH_BIN_OPTION="6.0 6.1"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V9_0%" SET CUDA_ARCH_BIN_OPTION="6.0 6.1 7.0"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V9_1%" SET CUDA_ARCH_BIN_OPTION="6.0 6.1 7.0"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V10_0%" SET CUDA_ARCH_BIN_OPTION="6.0 6.1 7.0 7.5"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V10_1%" SET CUDA_ARCH_BIN_OPTION="6.0 6.1 7.0 7.5"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V11_0%" SET CUDA_ARCH_BIN_OPTION="6.0 6.1 7.0 7.5 8.0"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V11_1%" SET CUDA_ARCH_BIN_OPTION="5.2 6.0 6.1 7.0 7.5 8.0 8.6"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V11_2%" SET CUDA_ARCH_BIN_OPTION="5.2 6.0 6.1 7.0 7.5 8.0 8.6"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V11_3%" SET CUDA_ARCH_BIN_OPTION="5.2 6.0 6.1 7.0 7.5 8.0 8.6"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V11_6%" SET CUDA_ARCH_BIN_OPTION="5.2 6.0 6.1 7.0 7.5 8.0 8.6"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V11_8%" SET CUDA_ARCH_BIN_OPTION="5.2 6.0 6.1 7.0 7.5 8.0 8.6 8.9 9.0"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V12_0%" SET CUDA_ARCH_BIN_OPTION="5.2 6.0 6.1 7.0 7.5 8.0 8.6 8.9 9.0"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V12_6%" SET CUDA_ARCH_BIN_OPTION="5.2 6.0 6.1 7.0 7.5 8.0 8.6 8.9 9.0"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V12_8%" SET CUDA_ARCH_BIN_OPTION="5.2 6.0 6.1 7.0 7.5 8.0 8.6 8.9 9.0 12.0"
|
|
IF "%CUDA_SDK_DIR%" == "%CUDA_PATH_V12_9%" SET CUDA_ARCH_BIN_OPTION="5.2 6.0 6.1 7.0 7.5 8.0 8.6 8.9 9.0 12.0"
|
|
GOTO END_GPU_ARCH_BIN
|
|
|
|
:GPU_ARCH_BIN_SPECIFIED
|
|
SET CUDA_ARCH_BIN_OPTION="%9%"
|
|
|
|
:END_GPU_ARCH_BIN
|
|
|
|
IF EXIST "%CUDA_SDK_DIR%" SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
%CUDA_64_MODE% ^
|
|
-DWITH_CUDA:BOOL=TRUE ^
|
|
-DCUDA_VERBOSE_BUILD:BOOL=TRUE ^
|
|
-DCUDA_TOOLKIT_ROOT_DIR:String="%CUDA_SDK_DIR:\=/%" ^
|
|
-DCUDA_SDK_ROOT_DIR:String="%CUDA_SDK_DIR:\=/%" ^
|
|
-DWITH_CUBLAS:BOOL=TRUE ^
|
|
-DBUILD_SHARED_LIBS:BOOL=TRUE ^
|
|
-DOPENCV_SKIP_DLLMAIN_GENERATION=ON ^
|
|
-DCUDA_ARCH_BIN:STRING=%CUDA_ARCH_BIN_OPTION% ^
|
|
-DBUILD_opencv_world:BOOL=TRUE ^
|
|
-DCUDA_NVCC_FLAGS:STRING="--expt-relaxed-constexpr --std=c++17" ^
|
|
-DCMAKE_CXX_STANDARD:STRING=17
|
|
|
|
GOTO END_OF_GPU
|
|
|
|
:WITHOUT_GPU
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DWITH_CUDA:BOOL=FALSE ^
|
|
-DBUILD_SHARED_LIBS:BOOL=FALSE
|
|
|
|
:END_OF_GPU
|
|
|
|
IF "%3%"=="inf" GOTO WITH_OPENVINO
|
|
IF "%3%"=="intel_inf" GOTO WITH_OPENVINO
|
|
|
|
GOTO WITHOUT_OPENVINO
|
|
|
|
:WITH_OPENVINO
|
|
|
|
cd ..
|
|
cd 3rdParty
|
|
cd openvino
|
|
REM Apply patch if BUILD_FOLDER doesn't exist. e.g. first time this script is run.
|
|
REM The IF condition prevent git patch to run multiple times if the build script is run multiple times.
|
|
IF NOT EXIST %BUILD_FOLDER% git apply ../0001-Patch-manager.cpp-for-Visual-Studio-2022.patch
|
|
IF NOT EXIST %BUILD_FOLDER% mkdir %BUILD_FOLDER%
|
|
cd %BUILD_FOLDER%
|
|
%CMAKE% -G %CMAKE_CONF% %GENERAL_CMAKE_CONFIG_FLAGS% ..
|
|
REM -DCMAKE_CXX_FLAGS:STRING="-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" -DCMAKE_C_FLAGS:STRING="-D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS"
|
|
%CMAKE% --build . --config Release --target INSTALL
|
|
cd ..
|
|
cd ..
|
|
|
|
cd ..
|
|
cd %BUILD_FOLDER%
|
|
|
|
|
|
|
|
REM SET OPENVINO_DIR=
|
|
REM IF EXIST "%PROGRAMFILES_DIR_X86%\Intel\openvino" SET OPENVINO_DIR=%PROGRAMFILES_DIR_X86%\Intel\openvino
|
|
REM IF EXIST "%PROGRAMFILES_DIR_X86%\Intel\openvino_2021" SET OPENVINO_DIR=%PROGRAMFILES_DIR_X86%\Intel\openvino_2021
|
|
REM IF NOT EXIST "%OPENVINO_DIR%" GOTO WITHOUT_OPENVINO
|
|
|
|
REM call "%OPENVINO_DIR%\bin\setupvars.bat"
|
|
@echo on
|
|
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DWITH_OPENVINO:BOOL=TRUE ^
|
|
-DOPENCV_DNN_OPENVINO:BOOL=TRUE ^
|
|
-DDNN_PLUGIN_LIST:STRING=all ^
|
|
-DOpenVINO_DIR:STRING=%OPENVINO_INSTALL_DIR% ^
|
|
-Dngraph_DIR:STRING=%OPENVINO_INSTALL_DIR% ^
|
|
-DTBB_DIR:STRING=%TBB_INSTALL_DIR% ^
|
|
-DENABLE_CXX11:BOOL=TRUE
|
|
|
|
REM -DOpenVINO_DIR:STRING="%OPENVINO_DIR:\=/%"
|
|
|
|
SET BUILD_TYPE=COMMERCIAL
|
|
|
|
GOTO END_OF_OPENVINO
|
|
|
|
:WITHOUT_OPENVINO
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DWITH_OPENVINO:BOOL=FALSE
|
|
|
|
:END_OF_OPENVINO
|
|
|
|
|
|
IF "%3%"=="intel" GOTO INTEL_COMPILER
|
|
IF "%3%"=="intel_inf" GOTO INTEL_COMPILER
|
|
|
|
:NOT_INTEL_COMPILER
|
|
|
|
IF "%3%"=="commercial" SET BUILD_TYPE=COMMERCIAL
|
|
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DWITH_LAPACK:BOOL=FALSE
|
|
GOTO VISUAL_STUDIO
|
|
|
|
:INTEL_COMPILER
|
|
REM Find Intel Compiler
|
|
SET INTEL_COMPILER_DIR=%ICPP_COMPILER20%
|
|
SET INTEL_DIR=%INTEL_COMPILER_DIR%bin
|
|
SET INTEL_ENV=%INTEL_DIR%\iclvars.bat
|
|
SET INTEL_ICL=%INTEL_DIR%\ia32\icl.exe
|
|
IF "%OS_MODE%"==" Win64" SET INTEL_ICL=%INTEL_DIR%\intel64\icl.exe
|
|
SET INTEL_TBB=%INTEL_COMPILER_DIR%tbb\include
|
|
|
|
REM SET INTEL_MKL_ROOT=%INTEL_COMPILER_DIR%mkl
|
|
|
|
SET INTEL_ARCH=ia32
|
|
IF "%OS_MODE%"==" Win64" SET INTEL_ARCH=intel64
|
|
SET INTEL_DEV_ENV=""
|
|
IF %DEVENV%==%VS2012% SET INTEL_DEV_ENV=vs2012
|
|
IF %DEVENV%==%VS2013% SET INTEL_DEV_ENV=vs2013
|
|
IF %DEVENV%==%VS2015% SET INTEL_DEV_ENV=vs2015
|
|
IF %DEVENV%==%VS2017% SET INTEL_DEV_ENV=vs2017
|
|
IF %DEVENV%==%VS2019% SET INTEL_DEV_ENV=vs2019
|
|
IF %DEVENV%==%VS2022% SET INTEL_DEV_ENV=vs2022
|
|
call "%INTEL_COMPILER_DIR%tbb\bin\tbbvars.bat" %INTEL_ARCH% %INTEL_DEV_ENV%
|
|
REM call "%INTEL_COMPILER_DIR%mkl\bin\mklvars.bat" %INTEL_ARCH% %INTEL_DEV_ENV%
|
|
|
|
REM initiate the compiler enviroment
|
|
@echo on
|
|
|
|
IF EXIST "%INTEL_DIR%" SET BUILD_TYPE=COMMERCIAL
|
|
|
|
IF EXIST "%INTEL_DIR%" SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DWITH_TBB:BOOL=TRUE ^
|
|
-DMKL_WITH_TBB:BOOL=TRUE ^
|
|
-DTBB_INCLUDE_DIR:String="%INTEL_TBB:\=/%" ^
|
|
-DCV_ICC:BOOL=TRUE
|
|
|
|
REM -DMKL_ROOT_DIR:String="%INTEL_MKL_ROOT:\=/%"
|
|
REM IF NOT "%2%"=="gpu" GOTO END_OF_INTEL_GPU
|
|
REM SET CUDA_HOST_COMPILER=%VS110COMNTOOLS%..\..\VC\bin
|
|
REM IF "%OS_MODE%"==" Win64" SET CUDA_HOST_COMPILER=%CUDA_HOST_COMPILER%\amd64
|
|
REM IF EXIST %VS2012% SET EMGU_CV_CMAKE_CONFIG_FLAGS=-DCUDA_HOST_COMPILER:String="%CUDA_HOST_COMPILER%" %EMGU_CV_CMAKE_CONFIG_FLAGS%
|
|
REM IF "%OS_MODE%"==" Win64" SET EMGU_CV_CMAKE_CONFIG_FLAGS=-DCUDA_64_BIT_DEVICE_CODE:BOOL=ON %EMGU_CV_CMAKE_CONFIG_FLAGS%
|
|
REM :END_OF_INTEL_GPU
|
|
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DWITH_OPENCL:BOOL=TRUE ^
|
|
-DWITH_MSMF:BOOL=TRUE
|
|
|
|
GOTO CONFIG_ARM
|
|
|
|
:VISUAL_STUDIO
|
|
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% %IPP_BUILD_FLAGS%
|
|
|
|
IF "%3%"=="WindowsStore10" GOTO CONFIGURE_WINDOWS_STORE_10
|
|
|
|
REM Windows Desktop Build
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DWITH_OPENCL:BOOL=TRUE ^
|
|
-DWITH_MSMF:BOOL=TRUE
|
|
|
|
GOTO CONFIG_ARM
|
|
|
|
:CONFIGURE_WINDOWS_STORE_10
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DNETFX_CORE:BOOL=TRUE ^
|
|
-DWITH_DIRECTX:BOOL=FALSE ^
|
|
-DWITH_OPENEXR:BOOL=FALSE ^
|
|
-DWITH_TIFF:BOOL=FALSE ^
|
|
-DEMGU_CV_WITH_TIFF:BOOL=FALSE ^
|
|
-DWITH_PNG:BOOL=TRUE ^
|
|
-DWITH_DSHOW:BOOL=FALSE ^
|
|
-DWITH_WIN32UI:BOOL=FALSE ^
|
|
-DWITH_VFW:BOOL=FALSE ^
|
|
-DWITH_MSMF:BOOL=FALSE ^
|
|
-DWITH_FFMPEG:BOOL=FALSE ^
|
|
-DWITH_OPENCL:BOOL=FALSE ^
|
|
-DWITH_EIGEN:BOOL=TRUE ^
|
|
-DEigen3_DIR:STRING=%EIGEN_DIR% ^
|
|
-DEMGU_ENABLE_SSE:BOOL=FALSE
|
|
|
|
:CONFIG_ARM
|
|
|
|
IF "%1%"=="arm" GOTO WITH_ARM
|
|
IF "%1%"=="arm64" GOTO WITH_ARM
|
|
|
|
:WITHOUT_ARM
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% -DEMGU_ENABLE_SSE:BOOL=TRUE
|
|
|
|
|
|
SET CPU_DISPATCH_FLAGS=
|
|
IF "%BUILD_TYPE%"=="COMMERCIAL" GOTO CONFIGURE_COMMERCIAL
|
|
GOTO CONFIGURE_OPENSOURCE
|
|
:CONFIGURE_COMMERCIAL
|
|
SET IPP_BUILD_FLAGS=-DWITH_IPP:BOOL=TRUE
|
|
IF "%1%"=="x86" SET CPU_DISPATCH_FLAGS=SSE4_1;SSE4_2
|
|
IF "%1%"=="x86_64" SET CPU_DISPATCH_FLAGS=SSE4_1;SSE4_2;AVX;AVX2;AVX512F
|
|
GOTO END_CONFIG_COMMERCIAL_OR_OPENSOURCE
|
|
:CONFIGURE_OPENSOURCE
|
|
SET IPP_BUILD_FLAGS=-DWITH_IPP:BOOL=FALSE
|
|
:END_CONFIG_COMMERCIAL_OR_OPENSOURCE
|
|
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% %IPP_BUILD_FLAGS% -DCPU_DISPATCH:STRING="%CPU_DISPATCH_FLAGS%"
|
|
|
|
GOTO END_WITH_ARM
|
|
|
|
:WITH_ARM
|
|
IF "%BUILD_TYPE%"=="COMMERCIAL" GOTO CONFIGURE_COMMERCIAL_ARM
|
|
GOTO CONFIGURE_OPENSOURCE_ARM
|
|
:CONFIGURE_COMMERCIAL_ARM
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DCV_ENABLE_INTRINSICS:BOOL=ON ^
|
|
-DCPU_BASELINE:STRING="NEON"
|
|
|
|
GOTO END_CONFIG_COMMERCIAL_OR_OPENSOURCE_ARM
|
|
:CONFIGURE_OPENSOURCE_ARM
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DCV_ENABLE_INTRINSICS:BOOL=OFF ^
|
|
-DCPU_BASELINE:STRING=""
|
|
|
|
:END_CONFIG_COMMERCIAL_OR_OPENSOURCE_ARM
|
|
|
|
SET EMGU_CV_CMAKE_CONFIG_FLAGS=%EMGU_CV_CMAKE_CONFIG_FLAGS% ^
|
|
-DEMGU_ENABLE_SSE:BOOL=FALSE ^
|
|
-DWITH_IPP:BOOL=OFF ^
|
|
-DEMGU_CV_WITH_FREETYPE:BOOL=OFF ^
|
|
-DBUILD_opencv_freetype:BOOL=OFF
|
|
|
|
:END_WITH_ARM
|
|
|
|
|
|
:RUN_CMAKE
|
|
@echo on
|
|
|
|
|
|
%CMAKE% %EMGU_CV_CMAKE_CONFIG_FLAGS% ..\
|
|
|
|
:BUILD
|
|
IF NOT "%7%"=="build" GOTO END
|
|
|
|
SET CMAKE_BUILD_TARGET=cvextern
|
|
IF NOT "%6%"=="package" GOTO CHECK_DOC_BUILD
|
|
SET CMAKE_BUILD_TARGET=%CMAKE_BUILD_TARGET% PACKAGE
|
|
:CHECK_DOC_BUILD
|
|
IF NOT "%5%"=="doc" GOTO CHECK_NUGET_BUILD
|
|
SET CMAKE_BUILD_TARGET=%CMAKE_BUILD_TARGET% Emgu.CV.Document
|
|
:CHECK_NUGET_BUILD
|
|
IF NOT "%8%"=="nuget" GOTO END_SET_BUILD_TARGET
|
|
SET CMAKE_BUILD_TARGET=%CMAKE_BUILD_TARGET% Emgu.CV.runtime.windows.nuget
|
|
:END_SET_BUILD_TARGET
|
|
REM echo CMAKE_BUILD_TARGET=%CMAKE_BUILD_TARGET% Emgu.CV.nuget
|
|
|
|
REM Don't build with parallel at this time. Multiple Example demo projects building in parallel will results in build errors.
|
|
REM %CMAKE% --build . --config Release --parallel --target %CMAKE_BUILD_TARGET%
|
|
%CMAKE% --build . --config Release --target %CMAKE_BUILD_TARGET%
|
|
|
|
REM IF "%2%"=="gpu" ^
|
|
REM call %DEVENV% %BUILD_TYPE% emgucv.sln /project Emgu.CV.CUDA.nuget
|
|
|
|
:END
|
|
popd
|