Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
2a9a2fff
Commit
2a9a2fff
authored
Mar 25, 2020
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmake: fix find process for InferenceEngine extra libraries
parent
a28a520c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
46 additions
and
10 deletions
+46
-10
OpenCVDetectInferenceEngine.cmake
cmake/OpenCVDetectInferenceEngine.cmake
+46
-10
No files found.
cmake/OpenCVDetectInferenceEngine.cmake
View file @
2a9a2fff
...
@@ -24,10 +24,33 @@ endif()
...
@@ -24,10 +24,33 @@ endif()
# =======================
# =======================
macro
(
ocv_ie_find_extra_libraries find_prefix find_suffix
)
file
(
GLOB libraries
"
${
INF_ENGINE_LIB_DIRS
}
/
${
find_prefix
}
inference_engine*
${
find_suffix
}
"
)
foreach
(
full_path IN LISTS libraries
)
get_filename_component
(
library
"
${
full_path
}
"
NAME_WE
)
string
(
REPLACE
"
${
find_prefix
}
"
""
library
"
${
library
}
"
)
if
(
library STREQUAL
"inference_engine"
OR library STREQUAL
"inference_engined"
)
# skip
else
()
add_library
(
${
library
}
UNKNOWN IMPORTED
)
set_target_properties
(
${
library
}
PROPERTIES
IMPORTED_LOCATION
"
${
full_path
}
"
)
list
(
APPEND custom_libraries
${
library
}
)
endif
()
endforeach
()
endmacro
()
function
(
add_custom_ie_build _inc _lib _lib_rel _lib_dbg _msg
)
function
(
add_custom_ie_build _inc _lib _lib_rel _lib_dbg _msg
)
if
(
NOT _inc OR
NOT
(
_lib OR _lib_rel OR _lib_dbg
))
if
(
NOT _inc OR
NOT
(
_lib OR _lib_rel OR _lib_dbg
))
return
()
return
()
endif
()
endif
()
if
(
NOT _lib
)
if
(
_lib_rel
)
set
(
_lib
"
${
_lib_rel
}
"
)
else
()
set
(
_lib
"
${
_lib_dbg
}
"
)
endif
()
endif
()
add_library
(
inference_engine UNKNOWN IMPORTED
)
add_library
(
inference_engine UNKNOWN IMPORTED
)
set_target_properties
(
inference_engine PROPERTIES
set_target_properties
(
inference_engine PROPERTIES
IMPORTED_LOCATION
"
${
_lib
}
"
IMPORTED_LOCATION
"
${
_lib
}
"
...
@@ -37,24 +60,31 @@ function(add_custom_ie_build _inc _lib _lib_rel _lib_dbg _msg)
...
@@ -37,24 +60,31 @@ function(add_custom_ie_build _inc _lib _lib_rel _lib_dbg _msg)
)
)
set
(
custom_libraries
""
)
set
(
custom_libraries
""
)
file
(
GLOB libraries
"
${
INF_ENGINE_LIB_DIRS
}
/
${
CMAKE_SHARED_LIBRARY_PREFIX
}
inference_engine_*
${
CMAKE_SHARED_LIBRARY_SUFFIX
}
"
)
set
(
__prefixes
"
${
CMAKE_FIND_LIBRARY_PREFIXES
}
"
)
foreach
(
full_path IN LISTS libraries
)
if
(
NOT __prefixes
)
get_filename_component
(
library
"
${
full_path
}
"
NAME_WE
)
set
(
__prefixes
"_empty_"
)
string
(
REPLACE
"
${
CMAKE_SHARED_LIBRARY_PREFIX
}
"
""
library
"
${
library
}
"
)
endif
()
add_library
(
${
library
}
UNKNOWN IMPORTED
)
foreach
(
find_prefix
${
__prefixes
}
)
set_target_properties
(
${
library
}
PROPERTIES
if
(
find_prefix STREQUAL
"_empty_"
)
# foreach doesn't iterate over empty elements
IMPORTED_LOCATION
"
${
full_path
}
"
)
set
(
find_prefix
""
)
list
(
APPEND custom_libraries
${
library
}
)
endif
()
foreach
(
find_suffix
${
CMAKE_FIND_LIBRARY_SUFFIXES
}
)
ocv_ie_find_extra_libraries
(
"
${
find_prefix
}
"
"
${
find_suffix
}
"
)
endforeach
()
if
(
NOT CMAKE_FIND_LIBRARY_SUFFIXES
)
ocv_ie_find_extra_libraries
(
"
${
find_prefix
}
"
""
)
endif
()
endforeach
()
endforeach
()
if
(
NOT INF_ENGINE_RELEASE VERSION_GREATER
"2018050000"
)
if
(
NOT INF_ENGINE_RELEASE VERSION_GREATER
"2018050000"
)
find_library
(
INF_ENGINE_OMP_LIBRARY iomp5 PATHS
"
${
INF_ENGINE_OMP_DIR
}
"
NO_DEFAULT_PATH
)
find_library
(
INF_ENGINE_OMP_LIBRARY iomp5 PATHS
"
${
INF_ENGINE_OMP_DIR
}
"
NO_DEFAULT_PATH
)
if
(
NOT INF_ENGINE_OMP_LIBRARY
)
if
(
NOT INF_ENGINE_OMP_LIBRARY
)
message
(
WARNING
"OpenMP for IE have not been found. Set INF_ENGINE_OMP_DIR variable if you experience build errors."
)
message
(
WARNING
"OpenMP for IE have not been found. Set INF_ENGINE_OMP_DIR variable if you experience build errors."
)
else
()
set_target_properties
(
inference_engine PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES
"
${
INF_ENGINE_OMP_LIBRARY
}
"
)
endif
()
endif
()
endif
()
endif
()
if
(
EXISTS
"
${
INF_ENGINE_OMP_LIBRARY
}
"
)
set_target_properties
(
inference_engine PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES
"
${
INF_ENGINE_OMP_LIBRARY
}
"
)
endif
()
set
(
INF_ENGINE_VERSION
"Unknown"
CACHE STRING
""
)
set
(
INF_ENGINE_VERSION
"Unknown"
CACHE STRING
""
)
set
(
INF_ENGINE_TARGET
"inference_engine;
${
custom_libraries
}
"
PARENT_SCOPE
)
set
(
INF_ENGINE_TARGET
"inference_engine;
${
custom_libraries
}
"
PARENT_SCOPE
)
message
(
STATUS
"Detected InferenceEngine:
${
_msg
}
"
)
message
(
STATUS
"Detected InferenceEngine:
${
_msg
}
"
)
...
@@ -71,6 +101,9 @@ endif()
...
@@ -71,6 +101,9 @@ endif()
if
(
NOT INF_ENGINE_TARGET AND INF_ENGINE_LIB_DIRS AND INF_ENGINE_INCLUDE_DIRS
)
if
(
NOT INF_ENGINE_TARGET AND INF_ENGINE_LIB_DIRS AND INF_ENGINE_INCLUDE_DIRS
)
find_path
(
ie_custom_inc
"inference_engine.hpp"
PATHS
"
${
INF_ENGINE_INCLUDE_DIRS
}
"
NO_DEFAULT_PATH
)
find_path
(
ie_custom_inc
"inference_engine.hpp"
PATHS
"
${
INF_ENGINE_INCLUDE_DIRS
}
"
NO_DEFAULT_PATH
)
if
(
CMAKE_BUILD_TYPE STREQUAL
"Debug"
)
find_library
(
ie_custom_lib_dbg
"inference_engined"
PATHS
"
${
INF_ENGINE_LIB_DIRS
}
"
NO_DEFAULT_PATH
)
# Win32 and MacOSX
endif
()
find_library
(
ie_custom_lib
"inference_engine"
PATHS
"
${
INF_ENGINE_LIB_DIRS
}
"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_lib
"inference_engine"
PATHS
"
${
INF_ENGINE_LIB_DIRS
}
"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_lib_rel
"inference_engine"
PATHS
"
${
INF_ENGINE_LIB_DIRS
}
/Release"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_lib_rel
"inference_engine"
PATHS
"
${
INF_ENGINE_LIB_DIRS
}
/Release"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_lib_dbg
"inference_engine"
PATHS
"
${
INF_ENGINE_LIB_DIRS
}
/Debug"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_lib_dbg
"inference_engine"
PATHS
"
${
INF_ENGINE_LIB_DIRS
}
/Debug"
NO_DEFAULT_PATH
)
...
@@ -89,6 +122,9 @@ if(NOT INF_ENGINE_TARGET AND _loc)
...
@@ -89,6 +122,9 @@ if(NOT INF_ENGINE_TARGET AND _loc)
endif
()
endif
()
set
(
INF_ENGINE_PLATFORM
"
${
INF_ENGINE_PLATFORM_DEFAULT
}
"
CACHE STRING
"InferenceEngine platform (library dir)"
)
set
(
INF_ENGINE_PLATFORM
"
${
INF_ENGINE_PLATFORM_DEFAULT
}
"
CACHE STRING
"InferenceEngine platform (library dir)"
)
find_path
(
ie_custom_env_inc
"inference_engine.hpp"
PATHS
"
${
_loc
}
/deployment_tools/inference_engine/include"
NO_DEFAULT_PATH
)
find_path
(
ie_custom_env_inc
"inference_engine.hpp"
PATHS
"
${
_loc
}
/deployment_tools/inference_engine/include"
NO_DEFAULT_PATH
)
if
(
CMAKE_BUILD_TYPE STREQUAL
"Debug"
)
find_library
(
ie_custom_env_lib_dbg
"inference_engined"
PATHS
"
${
_loc
}
/deployment_tools/inference_engine/lib/
${
INF_ENGINE_PLATFORM
}
/intel64"
NO_DEFAULT_PATH
)
endif
()
find_library
(
ie_custom_env_lib
"inference_engine"
PATHS
"
${
_loc
}
/deployment_tools/inference_engine/lib/
${
INF_ENGINE_PLATFORM
}
/intel64"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_env_lib
"inference_engine"
PATHS
"
${
_loc
}
/deployment_tools/inference_engine/lib/
${
INF_ENGINE_PLATFORM
}
/intel64"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_env_lib_rel
"inference_engine"
PATHS
"
${
_loc
}
/deployment_tools/inference_engine/lib/intel64/Release"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_env_lib_rel
"inference_engine"
PATHS
"
${
_loc
}
/deployment_tools/inference_engine/lib/intel64/Release"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_env_lib_dbg
"inference_engine"
PATHS
"
${
_loc
}
/deployment_tools/inference_engine/lib/intel64/Debug"
NO_DEFAULT_PATH
)
find_library
(
ie_custom_env_lib_dbg
"inference_engine"
PATHS
"
${
_loc
}
/deployment_tools/inference_engine/lib/intel64/Debug"
NO_DEFAULT_PATH
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment