Packages
evision
0.1.32
1.0.1-rc.0
1.0.0
1.0.0-rc.0
0.2.17
0.2.17-rc2
0.2.17-rc1
0.2.16
0.2.16-pre.2
0.2.16-pre
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.2-rc2
0.2.1
0.2.0
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
retired
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.26-rc3
0.1.26-rc2
0.1.26-rc1
0.1.26-rc0
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
OpenCV-Erlang/Elixir binding.
Retired package: Release invalid - incorrect source files
Current section
Files
Jump to
Current section
Files
Makefile.win
!IFNDEF MIX_APP_PATH
MIX_APP_PATH=$(MAKEDIR)
!ENDIF
PRIV_DIR = $(MIX_APP_PATH)/priv
EVISION_SO = $(PRIV_DIR)/evision.dll
SRC = $(MAKEDIR)\src
C_SRC = $(MAKEDIR)\c_src
PY_SRC = $(MAKEDIR)\py_src
LIB_SRC = $(MAKEDIR)\lib
PATCHES_DIR = $(MAKEDIR)\patches
!IFDEF CMAKE_TOOLCHAIN_FILE
CMAKE_CONFIGURE_FLAGS=-D CMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)"
!ENDIF
# OpenCV
!IFNDEF OPENCV_USE_GIT_HEAD
OPENCV_USE_GIT_HEAD=false
!ENDIF
!IFNDEF OPENCV_GIT_REPO
OPENCV_GIT_REPO="https://github.com/opencv/opencv.git"
!ENDIF
!IFNDEF OPENCV_VER
OPENCV_VER=4.8.0
!ENDIF
!IFNDEF OPENCV_CONTRIB_VER
OPENCV_CONTRIB_VER=4.8.0
!ENDIF
!IF "$(OPENCV_USE_GIT_HEAD)" == "true"
OPENCV_VER=$(OPENCV_USE_GIT_BRANCH)
!ENDIF
OPENCV_CACHE_DIR = $(MAKEDIR)\3rd_party\cache
OPENCV_SOURCE_URL = "https://github.com/opencv/opencv/archive/$(OPENCV_VER).zip"
OPENCV_SOURCE_ZIP = $(OPENCV_CACHE_DIR)\opencv-$(OPENCV_VER).zip
OPENCV_ROOT_DIR = $(MAKEDIR)\3rd_party\opencv
OPENCV_DIR = $(OPENCV_ROOT_DIR)\opencv-$(OPENCV_VER)
OPENCV_CONTRIB_DIR = $(OPENCV_ROOT_DIR)\opencv_contrib-$(OPENCV_CONTRIB_VER)
OPENCV_CONFIGURATION_PRIVATE_HPP = $(OPENCV_DIR)\modules\core\include\opencv2\core\utils\configuration.private.hpp
CMAKE_OPENCV_BUILD_DIR = $(MIX_APP_PATH)/cmake_opencv_$(OPENCV_VER)
CMAKE_OPENCV_INSTALL_DIR = $(PRIV_DIR)/x64
!IFNDEF CMAKE_OPENCV_MODULE_SELECTION
CMAKE_OPENCV_MODULE_SELECTION = -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=OFF -D BUILD_opencv_gapi=OFF
!ENDIF
!IFNDEF CMAKE_OPENCV_IMG_CODER_SELECTION
CMAKE_OPENCV_IMG_CODER_SELECTION = -D BUILD_PNG=ON -D BUILD_JPEG=ON -D BUILD_TIFF=ON -D BUILD_WEBP=ON -D BUILD_OPENJPEG=ON -D BUILD_JASPER=ON -D BUILD_OPENEXR=ON
!ENDIF
!IFNDEF CMAKE_OPENCV_OPTIONS
CMAKE_OPENCV_OPTIONS = ""
!ENDIF
!IFNDEF CMAKE_OPTIONS
CMAKE_OPTIONS = $(CMAKE_OPENCV_MODULE_SELECTION) $(CMAKE_OPENCV_IMG_CODER_SELECTION)
!ENDIF
CMAKE_WIN_FINAL_OPTIONS = $(CMAKE_OPTIONS) $(CMAKE_CONFIGURE_FLAGS) $(CMAKE_OPENCV_OPTIONS)
!IFNDEF ENABLED_CV_MODULES
ENABLED_CV_MODULES = ""
!ENDIF
# evision
OPENCV_HEADERS_TXT="$(CMAKE_OPENCV_BUILD_DIR)/modules/python_bindings_generator/headers.txt"
CONFIGURATION_PRIVATE_HPP = $(C_SRC)\configuration.private.hpp
GENERATED_ELIXIR_SRC_DIR = $(LIB_SRC)\generated
GENERATED_ERLANG_SRC_DIR = $(SRC)\generated
CMAKE_EVISION_BUILD_DIR = $(MIX_APP_PATH)/cmake_evision
!IFNDEF EVISION_PREFER_PRECOMPILED
EVISION_PREFER_PRECOMPILED = "false"
!ENDIF
!IFNDEF EVISION_ENABLE_CONTRIB
EVISION_ENABLE_CONTRIB = "true"
!ENDIF
!IFNDEF EVISION_PRECOMPILED_CACHE_DIR
EVISION_PRECOMPILED_CACHE_DIR = $(MAKEDIR)\.cache
!ENDIF
!IFNDEF EVISION_GENERATE_LANG
EVISION_GENERATE_LANG = elixir
!ENDIF
!IFNDEF CMAKE_GENERATOR_TYPE
!IFNDEF MSBUILD_PLATFORM
!IF "$(HAVE_NINJA)" == "true"
CMAKE_GENERATOR_TYPE=Ninja
!ELSE
CMAKE_GENERATOR_TYPE=NMake Makefiles
!ENDIF
!ENDIF
!ENDIF
!IFNDEF CMAKE_BUILD_TYPE
CMAKE_BUILD_TYPE=Release
!ENDIF
!IF "$(EVISION_ENABLE_CONTRIB)" == "true"
CMAKE_WIN_FINAL_OPTIONS_DEFINITIVE_EDITION = $(CMAKE_WIN_FINAL_OPTIONS) -DOPENCV_EXTRA_MODULES_PATH="$(OPENCV_CONTRIB_DIR)\modules" -D BUILD_opencv_hdf=OFF -D BUILD_opencv_freetype=OFF
C_SRC_HEADER_TXT="$(C_SRC)/headers-contrib.txt"
HEADERS_TXT="$(CMAKE_OPENCV_BUILD_DIR)/modules/python_bindings_generator/headers-contrib.txt"
!ELSE
CMAKE_WIN_FINAL_OPTIONS_DEFINITIVE_EDITION = $(CMAKE_WIN_FINAL_OPTIONS)
C_SRC_HEADER_TXT="$(C_SRC)/headers.txt"
HEADERS_TXT="$(CMAKE_OPENCV_BUILD_DIR)/modules/python_bindings_generator/headers.txt"
!ENDIF
# !IFDEF MSBUILD_PLATFORM
# CMAKE_BUILD_PARAMETER= --config "$(CMAKE_BUILD_TYPE)" -- /p:Platform=$(MSBUILD_PLATFORM)
# !ELSE
# CMAKE_BUILD_PARAMETER= --config "$(CMAKE_BUILD_TYPE)"
# !ENDIF
CMAKE_BUILD_PARAMETER= --config "$(CMAKE_BUILD_TYPE)"
!IF "$(EVISION_DO_OPENCV_COMPILE)" == "false"
EVISION_DO_OPENCV_COMPILE=false
!ELSE
EVISION_DO_OPENCV_COMPILE=true
!ENDIF
!IFNDEF EVISION_KEEP_OCV_BUILD_DIR
EVISION_KEEP_OCV_BUILD_DIR="true"
!ENDIF
build: $(EVISION_SO)
download_opencv_contrib:
!IF "$(EVISION_ENABLE_CONTRIB)" == "true"
@ powershell scripts/download_opencv_contrib.ps1 "$(OPENCV_VER)" "$(OPENCV_CACHE_DIR)" "$(OPENCV_ROOT_DIR)"
!ENDIF
$(CONFIGURATION_PRIVATE_HPP): download_opencv_contrib
!IF "$(EVISION_PREFER_PRECOMPILED)" != "true"
@ powershell scripts/download_opencv.ps1 "$(OPENCV_VER)" "$(OPENCV_CACHE_DIR)" "$(OPENCV_ROOT_DIR)"
@ if not exist "$(CONFIGURATION_PRIVATE_HPP)" copy "$(OPENCV_CONFIGURATION_PRIVATE_HPP)" "$(CONFIGURATION_PRIVATE_HPP)"
!ENDIF
$(HEADERS_TXT): $(CONFIGURATION_PRIVATE_HPP)
!IF "$(EVISION_PREFER_PRECOMPILED)" != "true"
@ if not exist "$(CMAKE_OPENCV_BUILD_DIR)" mkdir "$(CMAKE_OPENCV_BUILD_DIR)"
@ if not exist "$(HEADERS_TXT)" if "$(EVISION_DO_OPENCV_COMPILE)" == "true" ( \
python3 "$(PATCHES_DIR)\apply_patch.py" "$(OPENCV_DIR)" "$(OPENCV_VER)" \
)
@ if not exist "$(HEADERS_TXT)" if "$(EVISION_DO_OPENCV_COMPILE)" == "true" ( \
cd "$(CMAKE_OPENCV_BUILD_DIR)" && \
cmake -G "$(CMAKE_GENERATOR_TYPE)" \
-D CMAKE_BUILD_TYPE="$(CMAKE_BUILD_TYPE)" \
-D CMAKE_INSTALL_PREFIX="$(PRIV_DIR)" \
-D PYTHON3_EXECUTABLE="$(PYTHON3_EXECUTABLE)" \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D INSTALL_C_EXAMPLES=OFF \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D OPENCV_ENABLE_NONFREE=OFF \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_PC_FILE_NAME=opencv4.pc \
-D BUILD_ZLIB=ON \
-D BUILD_opencv_gapi=OFF \
-D CMAKE_C_FLAGS="/D PNG_ARM_NEON_OPT=0" \
-D CMAKE_CXX_FLAGS="/D PNG_ARM_NEON_OPT=0" \
-D CMAKE_TOOLCHAIN_FILE="$(TOOLCHAIN_FILE)" \
$(CMAKE_WIN_FINAL_OPTIONS_DEFINITIVE_EDITION) "$(OPENCV_DIR)" && \
cmake --build . $(CMAKE_BUILD_PARAMETER) \
)
@ if "$(EVISION_DO_OPENCV_COMPILE)" == "true" ( \
cd "$(CMAKE_OPENCV_BUILD_DIR)" && cmake --install . --config "$(CMAKE_BUILD_TYPE)" && \
if "$(OPENCV_HEADERS_TXT)" NEQ "$(HEADERS_TXT)" ( \
powershell -command Copy-Item "$(OPENCV_HEADERS_TXT)" -Destination "$(HEADERS_TXT)" -force \
) \
) && \
powershell -command Copy-Item "$(HEADERS_TXT)" -Destination "$(C_SRC_HEADER_TXT)" -force
@ if "$(EVISION_KEEP_OCV_BUILD_DIR)" == "false" ( \
powershell -command Remove-Item "$(CMAKE_OPENCV_BUILD_DIR)" -Recurse -force \
)
!ENDIF
$(C_SRC_HEADER_TXT): $(HEADERS_TXT)
opencv: $(C_SRC_HEADER_TXT)
$(EVISION_SO): opencv
@ if not exist "$(PRIV_DIR)" mkdir "$(PRIV_DIR)"
!IF "$(EVISION_PREFER_PRECOMPILED)" != "true"
@ if not exist "$(CMAKE_EVISION_BUILD_DIR)" mkdir "$(CMAKE_EVISION_BUILD_DIR)"
@ if not exist "$(GENERATED_ELIXIR_SRC_DIR)" mkdir "$(GENERATED_ELIXIR_SRC_DIR)"
@ if not exist "$(GENERATED_ERLANG_SRC_DIR)" mkdir "$(GENERATED_ERLANG_SRC_DIR)"
@ if not exist "$(EVISION_SO)" ( \
cd "$(CMAKE_EVISION_BUILD_DIR)" && \
cmake -G "$(CMAKE_GENERATOR_TYPE)" \
--no-warn-unused-cli \
-D CMAKE_BUILD_TYPE="$(CMAKE_BUILD_TYPE)" \
-D C_SRC="$(C_SRC)" \
-D CMAKE_TOOLCHAIN_FILE="$(TOOLCHAIN_FILE)" \
-D GENERATED_ELIXIR_SRC_DIR="$(GENERATED_ELIXIR_SRC_DIR)" \
-D GENERATED_ERLANG_SRC_DIR="$(GENERATED_ERLANG_SRC_DIR)" \
-D PY_SRC="$(PY_SRC)" \
-D MIX_APP_PATH="$(MIX_APP_PATH)" \
-D PRIV_DIR="$(PRIV_DIR)" \
-D ERTS_INCLUDE_DIR="$(ERTS_INCLUDE_DIR)" \
-D ENABLED_CV_MODULES=$(ENABLED_CV_MODULES) \
-D EVISION_GENERATE_LANG="$(EVISION_GENERATE_LANG)" \
-D EVISION_ENABLE_CONTRIB="$(EVISION_ENABLE_CONTRIB)" \
$(CMAKE_CONFIGURE_FLAGS) "$(MAKEDIR)" && \
cmake --build . $(CMAKE_BUILD_PARAMETER) && \
cmake --install . $(CMAKE_BUILD_PARAMETER) \
)
!ENDIF