cmake_policy(SET CMP0056 NEW) # try_compile(): link flags
endif()
+if(POLICY CMP0066)
+ cmake_policy(SET CMP0066 NEW) # CMake 3.7: try_compile(): use per-config flags, like CMAKE_CXX_FLAGS_RELEASE
+endif()
+
if(POLICY CMP0067)
cmake_policy(SET CMP0067 NEW) # CMake 3.8: try_compile(): honor language standard variables (like C++11)
endif()
cmake_policy(SET CMP0075 NEW) # CMake 3.12+: Include file check macros honor `CMAKE_REQUIRED_LIBRARIES`
endif()
+if(POLICY CMP0077)
+ cmake_policy(SET CMP0077 NEW) # CMake 3.13+: option() honors normal variables.
+endif()
#
# Configure OpenCV CMake hooks
OCV_OPTION(WITH_INF_ENGINE "Include Intel Inference Engine support" OFF
VISIBLE_IF TRUE
VERIFY INF_ENGINE_TARGET)
+OCV_OPTION(WITH_NGRAPH "Include nGraph support" WITH_INF_ENGINE
+ VISIBLE_IF TRUE
+ VERIFY TARGET ngraph::ngraph)
OCV_OPTION(WITH_JASPER "Include JPEG2K support" ON
VISIBLE_IF NOT IOS
VERIFY HAVE_JASPER)
OCV_OPTION(WITH_QUIRC "Include library QR-code decoding" ON
VISIBLE_IF TRUE
VERIFY HAVE_QUIRC)
+OCV_OPTION(WITH_TENGINE "Include Arm Inference Tengine support" OFF
+ VISIBLE_IF (ARM OR AARCH64) AND (UNIX OR ANDROID) AND NOT IOS
+ VERIFY HAVE_TENGINE)
# OpenCV build components
# ===================================================
# OpenCV installation options
# ===================================================
OCV_OPTION(INSTALL_CREATE_DISTRIB "Change install rules to build the distribution package" OFF )
+OCV_OPTION(INSTALL_BIN_EXAMPLES "Install prebuilt examples" WIN32 IF BUILD_EXAMPLES)
OCV_OPTION(INSTALL_C_EXAMPLES "Install C examples" OFF )
OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF )
OCV_OPTION(INSTALL_ANDROID_EXAMPLES "Install Android examples" OFF IF ANDROID )
include(cmake/OpenCVFindLibsPerf.cmake)
include(cmake/OpenCVFindLAPACK.cmake)
include(cmake/OpenCVFindProtobuf.cmake)
+if(WITH_TENGINE)
+ include(cmake/OpenCVFindTengine.cmake)
+endif()
# ----------------------------------------------------------------------------
# Detect other 3rd-party libraries/tools
foreach(hal ${OpenCV_HAL})
if(hal STREQUAL "carotene")
- add_subdirectory(3rdparty/carotene/hal)
- ocv_hal_register(CAROTENE_HAL_LIBRARIES CAROTENE_HAL_HEADERS CAROTENE_HAL_INCLUDE_DIRS)
- list(APPEND OpenCV_USED_HAL "carotene (ver ${CAROTENE_HAL_VERSION})")
+ if(";${CPU_BASELINE_FINAL};" MATCHES ";NEON;")
+ add_subdirectory(3rdparty/carotene/hal)
+ ocv_hal_register(CAROTENE_HAL_LIBRARIES CAROTENE_HAL_HEADERS CAROTENE_HAL_INCLUDE_DIRS)
+ list(APPEND OpenCV_USED_HAL "carotene (ver ${CAROTENE_HAL_VERSION})")
+ else()
+ message(STATUS "Carotene: NEON is not available, disabling carotene...")
+ endif()
elseif(hal STREQUAL "openvx")
add_subdirectory(3rdparty/openvx)
ocv_hal_register(OPENVX_HAL_LIBRARIES OPENVX_HAL_HEADERS OPENVX_HAL_INCLUDE_DIRS)
# for UNIX it does not make sense as LICENSE and readme will be part of the package automatically
if(ANDROID OR NOT UNIX)
install(FILES ${OPENCV_LICENSE_FILE}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
DESTINATION ./ COMPONENT libs)
if(OPENCV_README_FILE)
install(FILES ${OPENCV_README_FILE}
- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
DESTINATION ./ COMPONENT libs)
endif()
endif()
status(" Intel VA-API/OpenCL:" HAVE_VA_INTEL THEN "YES (OpenCL: ${VA_INTEL_IOCL_ROOT})" ELSE NO)
endif()
+if(WITH_TENGINE OR HAVE_TENGINE)
+ status(" Tengine:" HAVE_TENGINE THEN "YES (${TENGINE_LIBRARIES})" ELSE NO)
+endif()
+
if(WITH_LAPACK OR HAVE_LAPACK)
status(" Lapack:" HAVE_LAPACK THEN "YES (${LAPACK_LIBRARIES})" ELSE NO)
endif()
)
get_target_property(_inc ${ie_target} INTERFACE_INCLUDE_DIRECTORIES)
status(" Inference Engine:" "${__msg}")
- status(" libs:" "${_lib}")
- status(" includes:" "${_inc}")
+ status(" * libs:" "${_lib}")
+ status(" * includes:" "${_inc}")
else()
status(" Inference Engine:" "NO")
endif()
endif()
+if(WITH_NGRAPH OR HAVE_NGRAPH)
+ if(HAVE_NGRAPH)
+ set(__target ngraph::ngraph)
+ set(__msg "YES (${ngraph_VERSION})")
+ get_target_property(_lib ${__target} IMPORTED_LOCATION)
+ get_target_property(_lib_imp_rel ${__target} IMPORTED_IMPLIB_RELEASE)
+ get_target_property(_lib_imp_dbg ${__target} IMPORTED_IMPLIB_DEBUG)
+ get_target_property(_lib_rel ${__target} IMPORTED_LOCATION_RELEASE)
+ get_target_property(_lib_dbg ${__target} IMPORTED_LOCATION_DEBUG)
+ ocv_build_features_string(_lib
+ IF _lib THEN "${_lib}"
+ IF _lib_imp_rel AND _lib_imp_dbg THEN "${_lib_imp_rel} / ${_lib_imp_dbg}"
+ IF _lib_rel AND _lib_dbg THEN "${_lib_rel} / ${_lib_dbg}"
+ IF _lib_rel THEN "${_lib_rel}"
+ IF _lib_dbg THEN "${_lib_dbg}"
+ ELSE "unknown"
+ )
+ get_target_property(_inc ${__target} INTERFACE_INCLUDE_DIRECTORIES)
+ status(" nGraph:" "${__msg}")
+ status(" * libs:" "${_lib}")
+ status(" * includes:" "${_inc}")
+ else()
+ status(" nGraph:" "NO")
+ endif()
+endif()
if(WITH_EIGEN OR HAVE_EIGEN)
status(" Eigen:" HAVE_EIGEN THEN "YES (ver ${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION})" ELSE NO)
ocv_verify_config()
endif()
+if(HAVE_CUDA AND COMMAND CUDA_BUILD_CLEAN_TARGET)
+ CUDA_BUILD_CLEAN_TARGET()
+endif()
+
ocv_cmake_hook(POST_FINALIZE)
# ----------------------------------------------------------------------------