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.
79 lines
2.7 KiB
79 lines
2.7 KiB
# minimum required cmake version: 3.1.0
|
|
cmake_minimum_required(VERSION 3.1.0)
|
|
|
|
project(RealsenseOpenVINOSamples)
|
|
|
|
# Add INTEL_OPENVINO_DIR as an option -- this needs to be configured in CMake
|
|
set(INTEL_OPENVINO_DIR "" CACHE PATH "The path to the OpenVINO Toolkit installation")
|
|
|
|
if( NOT DEFINED INTEL_OPENVINO_DIR OR NOT IS_DIRECTORY ${INTEL_OPENVINO_DIR} )
|
|
message( FATAL_ERROR "Invalid OpenVINO directory specified with INTEL_OPENVINO_DIR" )
|
|
endif()
|
|
|
|
if (NOT BUILD_WITH_CPU_EXTENSIONS)
|
|
message( STATUS "Disabling CPU extensions for OpenVINO" )
|
|
set(ENABLE_AVX2 OFF)
|
|
set(ENABLE_AVX512F OFF)
|
|
endif()
|
|
|
|
# Set dependencies, including a CPU extension
|
|
set(IE_ROOT_DIR "${INTEL_OPENVINO_DIR}/inference_engine")
|
|
include(${INTEL_OPENVINO_DIR}/inference_engine/share/InferenceEngineConfig.cmake)
|
|
get_property(deps VARIABLE PROPERTY DEPENDENCIES)
|
|
|
|
include(check_vino_version.cmake)
|
|
check_vino_version()
|
|
|
|
if(OPENVINO2019)
|
|
set(DEPENDENCIES ${deps} ${InferenceEngine_LIBRARIES} ie_cpu_extension)
|
|
elseif(OPENVINO_NGRAPH)
|
|
include(${INTEL_OPENVINO_DIR}/deployment_tools/ngraph/cmake/ngraphConfig.cmake)
|
|
set(DEPENDENCIES ${deps} ${InferenceEngine_LIBRARIES} ${NGRAPH_LIBRARIES})
|
|
else()
|
|
set(DEPENDENCIES ${deps} ${InferenceEngine_LIBRARIES})
|
|
endif()
|
|
|
|
include_directories( . )
|
|
include_directories( ${InferenceEngine_INCLUDE_DIRS} )
|
|
|
|
if(OPENVINO2019)
|
|
# We need additional access to ext_list.hpp, for CPU extension support:
|
|
include_directories( "${IE_ROOT_DIR}/src/extension" )
|
|
elseif(OPENVINO_NGRAPH)
|
|
include_directories( "${INTEL_OPENVINO_DIR}/deployment_tools/ngraph/include" )
|
|
endif()
|
|
|
|
# The rs-vino directory includes additional classes and helpers that need to be included
|
|
set(OPENVINO_FILES
|
|
../rs-vino/base-detection.cpp
|
|
../rs-vino/base-detection.h
|
|
../rs-vino/object-detection.cpp
|
|
../rs-vino/object-detection.h
|
|
../rs-vino/detected-object.cpp
|
|
../rs-vino/detected-object.h
|
|
../rs-vino/openvino-helpers.h
|
|
)
|
|
|
|
if(OPENVINO2019)
|
|
set(OPENVINO_FILES ${OPENVINO_FILES} "${IE_ROOT_DIR}/src/extension/ext_list.hpp")
|
|
endif()
|
|
|
|
# And they make use of ELPP (EasyLogging++):
|
|
include_directories( ../../third-party/easyloggingpp/src )
|
|
set( ELPP_FILES
|
|
../../../third-party/easyloggingpp/src/easylogging++.cc
|
|
../../../third-party/easyloggingpp/src/easylogging++.h
|
|
)
|
|
# The individual examples should use the above like this:
|
|
# add_executable( <exe> <source files ...> ${OPENVINO_FILES} ${ELPP_FILES} )
|
|
# source_group("OpenVINO" FILES ${OPENVINO_FILES})
|
|
# source_group("EasyLogging++" FILES ${ELPP_FILES})
|
|
|
|
# Finally, OpenVINO model files are not included in our distribution. Define a function for easy
|
|
# downloading at CMake time:
|
|
include(dl_vino_model.cmake)
|
|
|
|
# List all the specific examples for OpenVINO
|
|
add_subdirectory(face)
|
|
add_subdirectory(dnn)
|