1 # Copyright (C) 2018-2019 Intel Corporation
2 # SPDX-License-Identifier: Apache-2.0
5 cmake_policy(SET CMP0054 NEW)
7 #we have number of dependencies stored on ftp
8 include(dependency_solver)
10 set_temp_directory(TEMP "${IE_MAIN_SOURCE_DIR}")
11 if (CMAKE_CROSSCOMPILING)
12 set(CMAKE_STAGING_PREFIX "${TEMP}")
15 include(ExternalProject)
18 if(COMMAND get_linux_name)
19 get_linux_name(LINUX_OS_NAME)
23 include(vpu_dependencies)
26 ## enable cblas_gemm from OpenBLAS package
27 if (GEMM STREQUAL "OPENBLAS")
28 if(NOT BLAS_LIBRARIES OR NOT BLAS_INCLUDE_DIRS)
29 find_package(BLAS REQUIRED)
31 find_path(BLAS_INCLUDE_DIRS cblas.h)
33 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>")
36 debug_message(STATUS "openblas=" ${BLAS_LIBRARIES})
40 if (GEMM STREQUAL "MKL")
42 message(FATAL_ERROR "MKLROOT not found: install MKL and set -DMKLROOT=<path_to_MKL>")
45 debug_message(STATUS "mkl_ml=" ${MKLROOT})
49 if (THREADING STREQUAL "OMP")
51 RESOLVE_DEPENDENCY(OMP
52 ARCHIVE_WIN "iomp.zip"
53 TARGET_PATH "${TEMP}/omp"
55 VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
57 RESOLVE_DEPENDENCY(OMP
58 ARCHIVE_LIN "iomp.tgz"
59 TARGET_PATH "${TEMP}/omp"
61 VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
63 RESOLVE_DEPENDENCY(OMP
64 ARCHIVE_MAC "iomp_20190130_mac.tgz"
65 TARGET_PATH "${TEMP}/omp"
67 VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
69 log_rpath_from_dir(OMP "${OMP}/lib")
70 debug_message(STATUS "intel_omp=" ${OMP})
74 if (THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO")
76 #TODO: add target_path to be platform specific as well, to avoid following if
77 RESOLVE_DEPENDENCY(TBB
78 ARCHIVE_WIN "tbb2019_20181010_win.zip" #TODO: windows zip archive created incorrectly using old name for folder
79 TARGET_PATH "${TEMP}/tbb"
81 VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
83 RESOLVE_DEPENDENCY(TBB
84 ARCHIVE_LIN "tbb2019_20181010_lin.tgz"
85 TARGET_PATH "${TEMP}/tbb"
86 ENVIRONMENT "TBBROOT")
88 RESOLVE_DEPENDENCY(TBB
89 ARCHIVE_MAC "tbb2019_20190414_v1_mac.tgz"
90 TARGET_PATH "${TEMP}/tbb"
92 VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
94 log_rpath_from_dir(TBB "${TBB}/lib")
95 debug_message(STATUS "tbb=" ${TBB})
99 set(OPENCV_VERSION "4.1.2")
100 set(OPENCV_BUILD "624")
101 set(OPENCV_SUFFIX "")
103 RESOLVE_DEPENDENCY(OPENCV
104 ARCHIVE_WIN "opencv_${OPENCV_VERSION}-${OPENCV_BUILD}.zip"
105 TARGET_PATH "${TEMP}/opencv_${OPENCV_VERSION}"
106 ENVIRONMENT "OpenCV_DIR"
107 VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*")
108 log_rpath_from_dir(OPENCV "\\opencv_${OPENCV_VERSION}\\bin")
110 RESOLVE_DEPENDENCY(OPENCV
111 ARCHIVE_MAC "opencv_${OPENCV_VERSION}-${OPENCV_BUILD}_osx.tar.xz"
112 TARGET_PATH "${TEMP}/opencv_${OPENCV_VERSION}_osx"
113 ENVIRONMENT "OpenCV_DIR"
114 VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*")
115 log_rpath_from_dir(OPENCV "opencv_${OPENCV_VERSION}_osx/lib")
117 if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv7l")
118 set(OPENCV_SUFFIX "debian9arm")
119 elseif (${LINUX_OS_NAME} STREQUAL "Ubuntu 16.04")
120 set(OPENCV_SUFFIX "ubuntu16")
121 elseif (${LINUX_OS_NAME} STREQUAL "Ubuntu 18.04")
122 set(OPENCV_SUFFIX "ubuntu18")
123 elseif (${LINUX_OS_NAME} STREQUAL "CentOS 7")
124 set(OPENCV_SUFFIX "centos7")
129 RESOLVE_DEPENDENCY(OPENCV
130 ARCHIVE_LIN "opencv_${OPENCV_VERSION}-${OPENCV_BUILD}_${OPENCV_SUFFIX}.tar.xz"
131 TARGET_PATH "${TEMP}/opencv_${OPENCV_VERSION}_${OPENCV_SUFFIX}"
132 ENVIRONMENT "OpenCV_DIR"
133 VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*")
134 log_rpath_from_dir(OPENCV "opencv_${OPENCV_VERSION}_${OPENCV_SUFFIX}/lib")
136 debug_message(STATUS "opencv=" ${OPENCV})
137 # OpenCV_DIR should point to cmake folder within the specified OpenCV binary package.
138 # It's required to successsfully find OpenCV libs using find_package(OpenCV ...) command.
139 # So, the cached OpenCV_DIR variable should be update if custom value wasn't previously set here.
140 if (NOT DEFINED ENV{OpenCV_DIR})
141 set(OpenCV_DIR "${OPENCV}/cmake" CACHE PATH "Path to OpenCV in temp directory")
148 if (GNA_LIBRARY_VERSION STREQUAL "GNA1")
149 RESOLVE_DEPENDENCY(GNA
150 ARCHIVE_UNIFIED "gna_20181120.zip"
151 TARGET_PATH "${TEMP}/gna")
152 elseif(GNA_LIBRARY_VERSION STREQUAL "GNA1_1401")
153 set(GNA_VERSION "01.00.00.1401")
154 RESOLVE_DEPENDENCY(GNA
155 ARCHIVE_UNIFIED "GNA_${GNA_VERSION}.zip"
156 TARGET_PATH "${TEMP}/gna_${GNA_VERSION}"
157 VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+.[0-9]+).*")
159 debug_message(STATUS "gna=" ${GNA})
163 "${IE_MAIN_SOURCE_DIR}/cmake/share/InferenceEngineConfig.cmake.in"
164 "${CMAKE_BINARY_DIR}/share/InferenceEngineConfig.cmake"
168 "${IE_MAIN_SOURCE_DIR}/cmake/share/InferenceEngineConfig-version.cmake.in"
169 "${CMAKE_BINARY_DIR}/share/InferenceEngineConfig-version.cmake"
173 "${IE_MAIN_SOURCE_DIR}/cmake/ie_parallel.cmake"
174 "${CMAKE_BINARY_DIR}/share/ie_parallel.cmake"