Skip to content

Commit 80dfb26

Browse files
ilya-lavrenovmryzhov
authored andcommitted
Introduce IEDevScripts package (openvinotoolkit#3661)
* Refactored developer package * Added fuzzing for CMAKE_MODULE_LINKER_FLAGS as well * Added options for developer package * More improvements * Further improvements * Removed global CMAKE_MODULE_PATH population * Fixes * Final fixes * Fixed python build * Fix for TBB * Fixed Find TBB * Fixed install * Fixes for OV features * Split developer targets per component * Fixed IE build tree config * Fixed ITT * Fixed review comments * Clean export dependencies * Fixed export of pugixml * Added IEDevScripts_DIR for Android * Fixed Android #2 * Fixed Android #3 * Fixed python cc * Disabled Core threading tests on GNA
1 parent 3a16a61 commit 80dfb26

File tree

103 files changed

+466
-535
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+466
-535
lines changed

.ci/azure/linux_ngraph_onnx.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
- task: CMake@1
6565
inputs:
6666
# CMake must get Python 3.x version by default
67-
cmakeArgs: -GNinja -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DENABLE_VPU=OFF -DENABLE_GNA=OFF -DENABLE_OPENCV=OFF -DENABLE_CPPLINT=OFF -DENABLE_TESTS=OFF -DENABLE_BEH_TESTS=OFF -DENABLE_FUNCTIONAL_TESTS=OFF -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_PROFILING_ITT=OFF -DENABLE_SAMPLES=OFF -DENABLE_SPEECH_DEMO=OFF -DENABLE_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python3.6 -DNGRAPH_ONNX_IMPORT_ENABLE=ON -DNGRAPH_INTERPRETER_ENABLE=ON -DNGRAPH_DEBUG_ENABLE=OFF -DNGRAPH_DYNAMIC_COMPONENTS_ENABLE=ON -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) $(REPO_DIR)
67+
cmakeArgs: -GNinja -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DENABLE_VPU=OFF -DENABLE_GNA=OFF -DENABLE_OPENCV=OFF -DENABLE_CPPLINT=OFF -DENABLE_TESTS=OFF -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_PROFILING_ITT=OFF -DENABLE_SAMPLES=OFF -DENABLE_SPEECH_DEMO=OFF -DENABLE_PYTHON=ON -DPYTHON_EXECUTABLE=/usr/bin/python3.6 -DNGRAPH_ONNX_IMPORT_ENABLE=ON -DNGRAPH_INTERPRETER_ENABLE=ON -DNGRAPH_DEBUG_ENABLE=OFF -DNGRAPH_DYNAMIC_COMPONENTS_ENABLE=ON -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) $(REPO_DIR)
6868
workingDirectory: $(BUILD_DIR)
6969
enabled: false
7070

.ci/openvino-onnx/Dockerfile

-2
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@ RUN cmake .. \
5757
-DENABLE_OPENCV=OFF \
5858
-DENABLE_CPPLINT=OFF \
5959
-DENABLE_TESTS=OFF \
60-
-DENABLE_BEH_TESTS=OFF \
61-
-DENABLE_FUNCTIONAL_TESTS=OFF \
6260
-DENABLE_MKL_DNN=ON \
6361
-DENABLE_CLDNN=OFF \
6462
-DENABLE_PROFILING_ITT=OFF \

CMakeLists.txt

+30-20
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ project(OpenVINO)
88

99
set(OpenVINO_MAIN_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
1010
set(IE_MAIN_SOURCE_DIR ${OpenVINO_MAIN_SOURCE_DIR}/inference-engine)
11-
list(APPEND CMAKE_MODULE_PATH "${OpenVINO_MAIN_SOURCE_DIR}/cmake")
1211

13-
include(CTest)
14-
include(features)
12+
find_package(IEDevScripts REQUIRED
13+
PATHS "${OpenVINO_MAIN_SOURCE_DIR}/cmake/developer_package"
14+
NO_CMAKE_FIND_ROOT_PATH
15+
NO_DEFAULT_PATH)
1516

16-
# include developer package
17-
include(developer_package)
17+
include(CTest)
18+
include(cmake/features.cmake)
1819

1920
# These options are shared with 3rdparty plugins by means of developer package
20-
include(check_features)
21-
include(dependencies)
21+
include(cmake/dependencies.cmake)
2222

2323
# resolving dependencies for the project
2424
message (STATUS "PROJECT ............................... " ${PROJECT_NAME})
@@ -30,8 +30,11 @@ message (STATUS "CMAKE_C_COMPILER_ID ................... " ${CMAKE_C_COMPILER_ID
3030
message (STATUS "CMAKE_BUILD_TYPE ...................... " ${CMAKE_BUILD_TYPE})
3131

3232
# remove file with exported developer targets to force its regeneration
33-
file(REMOVE "${CMAKE_BINARY_DIR}/targets_developer.cmake")
34-
file(REMOVE "${CMAKE_BINARY_DIR}/targets.cmake")
33+
file(REMOVE "${CMAKE_BINARY_DIR}/inference_engine_targets.cmake")
34+
foreach(component IN LISTS openvino_export_components)
35+
file(REMOVE "${CMAKE_BINARY_DIR}/${component}_dev_targets.cmake")
36+
unset(${component} CACHE)
37+
endforeach()
3538

3639
#
3740
# Build
@@ -45,7 +48,6 @@ function(build_ngraph)
4548
endfunction()
4649

4750
set(NGRAPH_BUILD_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} CACHE STRING "" FORCE)
48-
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${OpenVINO_MAIN_SOURCE_DIR}/ngraph/cmake/Modules/")
4951

5052
if (ENABLE_SANITIZER)
5153
ngraph_set(NGRAPH_ADDRESS_SANITIZER TRUE)
@@ -119,28 +121,36 @@ function(build_ngraph)
119121
set(NGRAPH_LIBRARIES ngraph PARENT_SCOPE)
120122
endfunction()
121123

122-
file(REMOVE "${CMAKE_BINARY_DIR}/openvino_targets_developer.cmake")
123-
unset(OpenVINODeveloperPackageTargets CACHE)
124-
125124
function(openvino_developer_export_targets)
126-
set(OpenVINODeveloperPackageTargets "${OpenVINODeveloperPackageTargets};${ARGV}")
125+
cmake_parse_arguments(EXPORT "" "COMPONENT" "TARGETS" ${ARGN})
126+
127+
if(EXPORT_UNPARSED_ARGUMENTS)
128+
message(FATAL_ERROR "openvino_developer_export_targets has unparsed arguments: ${EXPORT_UNPARSED_ARGUMENTS}")
129+
endif()
130+
131+
set(${EXPORT_COMPONENT} "${${EXPORT_COMPONENT}};${EXPORT_TARGETS}")
127132

128133
# to allow exporting of aliased targets with the original names
129-
foreach(target_name ${OpenVINODeveloperPackageTargets})
134+
foreach(target_name IN LISTS ${EXPORT_COMPONENT})
130135
if(TARGET "${target_name}")
131136
get_target_property(original_name ${target_name} ALIASED_TARGET)
132137
if(TARGET "${original_name}")
133138
message(STATUS "The name ${target_name} is an ALIAS for ${original_name}. "
134139
"It will be exported to the InferenceEngineDeveloperPackage with the original name.")
135-
list(REMOVE_ITEM OpenVINODeveloperPackageTargets ${target_name})
136-
list(APPEND OpenVINODeveloperPackageTargets ${original_name})
140+
list(REMOVE_ITEM ${EXPORT_COMPONENT} ${target_name})
141+
list(APPEND ${EXPORT_COMPONENT} ${original_name})
137142
endif()
138143
endif()
139144
endforeach()
140145

141-
list(REMOVE_DUPLICATES OpenVINODeveloperPackageTargets)
142-
set(OpenVINODeveloperPackageTargets "${OpenVINODeveloperPackageTargets}" CACHE INTERNAL
143-
"Paths to extra Inference Engine plugins" FORCE)
146+
list(REMOVE_DUPLICATES ${EXPORT_COMPONENT})
147+
set(${EXPORT_COMPONENT} "${${EXPORT_COMPONENT}}" CACHE INTERNAL
148+
"A list of OpenVINO ${EXPORT_COMPONENT} exported targets" FORCE)
149+
150+
list(APPEND openvino_export_components ${EXPORT_COMPONENT})
151+
list(REMOVE_DUPLICATES openvino_export_components)
152+
set(openvino_export_components "${openvino_export_components}" CACHE INTERNAL
153+
"A list of OpenVINO exported components" FORCE)
144154
endfunction()
145155

146156
add_subdirectory(openvino)

cmake/check_features.cmake

-35
This file was deleted.

cmake/dependencies.cmake

-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44

55
set_temp_directory(TEMP "${IE_MAIN_SOURCE_DIR}")
66

7-
include(dependency_solver)
8-
97
if(CMAKE_CROSSCOMPILING AND CMAKE_HOST_SYSTEM_NAME MATCHES Linux AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
108
set(protoc_version "3.7.1")
119

inference-engine/cmake/FindTBB.cmake renamed to cmake/developer_package/FindTBB.cmake

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ endif()
2525

2626
find_package(TBB
2727
CONFIG
28-
NO_DEFAULT_PATH
2928
PATHS ${TBBROOT}/cmake
30-
${CMAKE_CURRENT_LIST_DIR}/${IE_OWN_TBB_CONFIG}
29+
${IEDevScripts_DIR}/${IE_OWN_TBB_CONFIG}
30+
NO_DEFAULT_PATH
3131
)
32+
3233
find_package_handle_standard_args(TBB CONFIG_MODE)

0 commit comments

Comments
 (0)