openvino/inference-engine/cmake/dependencies.cmake

118 lines
3.5 KiB
CMake

# Copyright (C) 2018 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
cmake_minimum_required(VERSION 2.8)
#features trigger supported by build system
include(check_features)
include(debug)
#we have number of dependencies stored on ftp
include(dependency_solver)
#prepare temporary folder
if (DEFINED ENV{${DL_SDK_TEMP}})
if (WIN32)
string(REPLACE "\\" "\\\\" TEMP $ENV{${DL_SDK_TEMP}})
else(WIN32)
set(TEMP $ENV{${DL_SDK_TEMP}})
endif(WIN32)
if (ENABLE_ALTERNATIVE_TEMP)
set(ALTERNATIVE_PATH ${IE_MAIN_SOURCE_DIR}/temp)
endif()
else ()
message(STATUS "DL_SDK_TEMP envionment not set")
set(TEMP ${IE_MAIN_SOURCE_DIR}/temp)
endif ()
include(ExternalProject)
if (ENABLE_SAME_BRANCH_FOR_MODELS)
branchName(MODELS_BRANCH)
else()
set(MODELS_BRANCH "master")
endif()
set(MODELS_PATH "${TEMP}/models")
debug_message(STATUS "MODELS_PATH=" ${MODELS_PATH})
#clDNN
if (ENABLE_CLDNN AND NOT ENABLE_CLDNN_BUILD)
if(NOT IE_SUBMODULE_IN_CLDNN)
RESOLVE_DEPENDENCY(CLDNN
ARCHIVE_UNIFIED "cldnn-main-03988.zip"
TARGET_PATH "${TEMP}/clDNN"
ENVIRONMENT "CLDNN"
VERSION_REGEX ".*_(([a-z]+-)?[a-z]+-[0-9]+)---.*"
FOLDER) #new cldnn package dont have toplevel cldnn folder
debug_message(STATUS "clDNN=" ${CLDNN})
endif ()
endif ()
## enable cblas_gemm from OpenBLAS package
if (GEMM STREQUAL "OPENBLAS")
if(NOT BLAS_LIBRARIES OR NOT BLAS_INCLUDE_DIRS)
find_package(BLAS REQUIRED)
if(BLAS_FOUND)
find_path(BLAS_INCLUDE_DIRS cblas.h)
else()
message(ERROR "OpenBLAS not found: install OpenBLAS or set -DBLAS_INCLUDE_DIRS=<path to dir with cblas.h> and -DBLAS_LIBRARIES=<path to libopenblas.so or openblas.lib>")
endif()
endif()
debug_message(STATUS "openblas=" ${BLAS_LIBRARIES})
endif ()
#MKL-ml package
if (GEMM STREQUAL "MKL" OR ENABLE_INTEL_OMP)
if (WIN32)
RESOLVE_DEPENDENCY(MKL
ARCHIVE_WIN "mkltiny_win_20180512.zip"
TARGET_PATH "${TEMP}/mkltiny_win_20180512"
ENVIRONMENT "MKLROOT"
VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
elseif(LINUX)
RESOLVE_DEPENDENCY(MKL
ARCHIVE_LIN "mkltiny_lnx_20180511.tgz"
TARGET_PATH "${TEMP}/mkltiny_lnx_20180511"
ENVIRONMENT "MKLROOT"
VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
endif()
debug_message(STATUS "mkl_ml=" ${MKL})
endif ()
if (ENABLE_OPENCV)
if (WIN32)
RESOLVE_DEPENDENCY(OPENCV
ARCHIVE_WIN "opencv_3.4.3.zip"
TARGET_PATH "${TEMP}/opencv"
ENVIRONMENT "OpenCV_DIR"
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*")
log_rpath_from_dir(OPENCV "\\opencv\\x64\\vc14\\bin")
set( ENV{OpenCV_DIR} ${OPENCV} )
elseif(LINUX)
if (${LINUX_OS_NAME} STREQUAL "Ubuntu 16.04")
RESOLVE_DEPENDENCY(OPENCV
ARCHIVE_LIN "opencv_3.4.3_ubuntu16.tar.bz2"
TARGET_PATH "${TEMP}/opencv_ubuntu16"
ENVIRONMENT "OpenCV_DIR"
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*")
log_rpath_from_dir(OPENCV "opencv_ubuntu16/lib")
elseif (${LINUX_OS_NAME} STREQUAL "CentOS 7")
RESOLVE_DEPENDENCY(OPENCV
ARCHIVE_LIN "opencv_3.4.3_centos7.tar.bz2"
TARGET_PATH "${TEMP}/opencv_centos7"
ENVIRONMENT "OpenCV_DIR"
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*")
log_rpath_from_dir(OPENCV "opencv_centos7/lib")
endif()
set( ENV{OpenCV_DIR} ${OPENCV}/share )
endif()
debug_message(STATUS "opencv=" ${OPENCV})
endif()
include(omp)