Enabled proper OpenVINOConfig.cmake generation for static build (#8634)
* Enabled PDPD, TF on Windows
* Try to build samples against static libs
* Fixes
* Fixes
* fix
* Used ENABLE_GAPI_PREPROCESSING in C API tests
* Revert "Used ENABLE_GAPI_PREPROCESSING in C API tests"
This reverts commit df9d53e3cc.
* Fixes
* Revert exclude
* Enabled proper OpenVINOConfig.cmake generation
* Try
* Try
This commit is contained in:
@@ -216,12 +216,12 @@ jobs:
|
||||
- script: $(INSTALL_DIR)/samples/cpp/build_samples.sh
|
||||
workingDirectory: $(BUILD_SAMPLES_DIR)
|
||||
displayName: 'Build cpp samples'
|
||||
condition: eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'ON')
|
||||
continueOnError: false
|
||||
|
||||
- script: $(INSTALL_DIR)/samples/c/build_samples.sh
|
||||
workingDirectory: $(BUILD_SAMPLES_DIR)
|
||||
displayName: 'Build c samples'
|
||||
condition: eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'ON')
|
||||
continueOnError: false
|
||||
|
||||
- script: rm -fr $(BUILD_DIR)
|
||||
displayName: 'Clean build dir'
|
||||
|
||||
@@ -111,6 +111,8 @@ jobs:
|
||||
python -m pip install -r $(REPO_DIR)\model-optimizer\requirements.txt
|
||||
python -m pip install -r $(REPO_DIR)\model-optimizer\requirements_dev.txt
|
||||
rem Speed up build
|
||||
certutil -urlcache -split -f https://github.com/Kitware/CMake/releases/download/v3.22.0/cmake-3.22.0-win64-x64.zip cmake-3.22.0-win64-x64.zip
|
||||
powershell -command "Expand-Archive -Force cmake-3.22.0-win64-x64.zip"
|
||||
certutil -urlcache -split -f https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip ninja-win.zip
|
||||
powershell -command "Expand-Archive -Force ninja-win.zip"
|
||||
git clone https://github.com/google/gtest-parallel.git
|
||||
@@ -119,7 +121,7 @@ jobs:
|
||||
|
||||
- script: |
|
||||
set PATH=$(WORK_DIR)\ninja-win;%PATH%
|
||||
call "$(MSVS_VARS_PATH)" && cmake -GNinja -DENABLE_CLDNN=$(CMAKE_BUILD_SHARED_LIBS) -DENABLE_GAPI_PREPROCESSING=$(CMAKE_BUILD_SHARED_LIBS) -DBUILD_SHARED_LIBS=$(CMAKE_BUILD_SHARED_LIBS) -DENABLE_REQUIREMENTS_INSTALL=OFF -DENABLE_FASTER_BUILD=ON -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DENABLE_TESTS=ON -DENABLE_STRICT_DEPENDENCIES=OFF -DENABLE_PYTHON=ON -DPYTHON_EXECUTABLE="C:\hostedtoolcache\windows\Python\3.7.6\x64\python.exe" -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)\modules -DCMAKE_C_COMPILER:PATH="$(MSVC_COMPILER_PATH)" -DCMAKE_CXX_COMPILER:PATH="$(MSVC_COMPILER_PATH)" $(REPO_DIR)
|
||||
call "$(MSVS_VARS_PATH)" && $(WORK_DIR)\cmake-3.22.0-win64-x64\cmake-3.22.0-win64-x64\bin\cmake.exe -GNinja -DENABLE_GNA=$(CMAKE_BUILD_SHARED_LIBS) -DENABLE_CLDNN=$(CMAKE_BUILD_SHARED_LIBS) -DENABLE_GAPI_PREPROCESSING=$(CMAKE_BUILD_SHARED_LIBS) -DBUILD_SHARED_LIBS=$(CMAKE_BUILD_SHARED_LIBS) -DENABLE_REQUIREMENTS_INSTALL=OFF -DENABLE_FASTER_BUILD=ON -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DENABLE_TESTS=ON -DENABLE_STRICT_DEPENDENCIES=OFF -DENABLE_PYTHON=ON -DPYTHON_EXECUTABLE="C:\hostedtoolcache\windows\Python\3.7.6\x64\python.exe" -DIE_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)\modules -DCMAKE_C_COMPILER:PATH="$(MSVC_COMPILER_PATH)" -DCMAKE_CXX_COMPILER:PATH="$(MSVC_COMPILER_PATH)" $(REPO_DIR)
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
displayName: 'CMake'
|
||||
|
||||
@@ -135,14 +137,14 @@ jobs:
|
||||
- script: dir $(REPO_DIR)\bin\ /s
|
||||
displayName: 'List bin files'
|
||||
|
||||
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P cmake_install.cmake
|
||||
- script: $(WORK_DIR)\cmake-3.22.0-win64-x64\cmake-3.22.0-win64-x64\bin\cmake.exe -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P cmake_install.cmake
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
displayName: 'Install'
|
||||
|
||||
- script: dir $(INSTALL_DIR) /s
|
||||
displayName: 'List install files'
|
||||
|
||||
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P cmake_install.cmake && xcopy $(REPO_DIR)\inference-engine\temp\opencv_4.5.2\opencv\* $(INSTALL_DIR)\opencv\ /e /h /y
|
||||
- script: $(WORK_DIR)\cmake-3.22.0-win64-x64\cmake-3.22.0-win64-x64\bin\cmake.exe -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P cmake_install.cmake && xcopy $(REPO_DIR)\inference-engine\temp\opencv_4.5.2\opencv\* $(INSTALL_DIR)\opencv\ /e /h /y
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
displayName: 'Install tests'
|
||||
|
||||
@@ -152,12 +154,12 @@ jobs:
|
||||
- script: $(INSTALL_DIR)\samples\cpp\build_samples_msvc.bat
|
||||
workingDirectory: $(BUILD_SAMPLES_DIR)
|
||||
displayName: 'Build cpp samples'
|
||||
condition: eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'ON')
|
||||
continueOnError: false
|
||||
|
||||
- script: $(INSTALL_DIR)\samples\c\build_samples_msvc.bat
|
||||
workingDirectory: $(BUILD_SAMPLES_DIR)
|
||||
displayName: 'Build c samples'
|
||||
condition: eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'ON')
|
||||
continueOnError: false
|
||||
|
||||
- script: rd /Q /S $(BUILD_DIR)
|
||||
displayName: 'Clean build dir'
|
||||
@@ -195,6 +197,7 @@ jobs:
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\gnaUnitTests --gtest_output=xml:TEST-gnaUnitTests.xml
|
||||
displayName: 'GNA UT'
|
||||
continueOnError: false
|
||||
condition: eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'ON')
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\vpuUnitTests --gtest_output=xml:TEST-vpuUnitTests.xml
|
||||
displayName: 'VPU UT'
|
||||
|
||||
@@ -2,7 +2,14 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
if(DEFINED BUILD_SHARED_LIBS AND NOT BUILD_SHARED_LIBS)
|
||||
# 'target_link_libraries' does not work correctly when called from
|
||||
# different directly where 'add_library' is called: CMake generates
|
||||
# incorrect OpenVINOConfig.cmake in this case
|
||||
cmake_minimum_required(VERSION 3.17)
|
||||
else()
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
endif()
|
||||
|
||||
project(OpenVINO DESCRIPTION "OpenVINO toolkit")
|
||||
|
||||
|
||||
@@ -83,9 +83,9 @@ function(ie_add_plugin)
|
||||
FILEDESCRIPTION "Inference Engine ${IE_PLUGIN_DEVICE_NAME} device plugin library")
|
||||
|
||||
if(TARGET IE::inference_engine_plugin_api)
|
||||
target_link_libraries(${IE_PLUGIN_NAME} PRIVATE IE::inference_engine_plugin_api)
|
||||
target_link_libraries(${IE_PLUGIN_NAME} PRIVATE IE::inference_engine IE::inference_engine_plugin_api)
|
||||
else()
|
||||
target_link_libraries(${IE_PLUGIN_NAME} PRIVATE inference_engine_plugin_api)
|
||||
target_link_libraries(${IE_PLUGIN_NAME} PRIVATE inference_engine inference_engine_plugin_api)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
@@ -108,8 +108,12 @@ function(ie_add_plugin)
|
||||
endif()
|
||||
|
||||
add_dependencies(ie_plugins ${IE_PLUGIN_NAME})
|
||||
if(TARGET inference_engine_preproc AND BUILD_SHARED_LIBS)
|
||||
add_dependencies(${IE_PLUGIN_NAME} inference_engine_preproc)
|
||||
if(TARGET inference_engine_preproc)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
add_dependencies(${IE_PLUGIN_NAME} inference_engine_preproc)
|
||||
else()
|
||||
target_link_libraries(${IE_PLUGIN_NAME} PRIVATE inference_engine_preproc)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# fake dependencies to build in the following order:
|
||||
|
||||
@@ -31,7 +31,6 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
endif()
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE clDNN_lib pugixml::static
|
||||
inference_engine
|
||||
inference_engine_transformations
|
||||
inference_engine_lp_transformations
|
||||
ngraph)
|
||||
|
||||
@@ -38,7 +38,7 @@ ie_add_plugin(NAME ${TARGET_NAME}
|
||||
# Enable support of CC for the plugin
|
||||
ie_mark_target_as_cc(${TARGET_NAME})
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine inference_engine_legacy inference_engine_transformations
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine_legacy inference_engine_transformations
|
||||
Threads::Threads libGNA)
|
||||
target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ ie_faster_build(${TARGET_NAME}
|
||||
UNITY
|
||||
)
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE pugixml::static inference_engine
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE pugixml::static
|
||||
ngraph inference_engine_transformations)
|
||||
|
||||
ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
|
||||
|
||||
@@ -17,7 +17,7 @@ ie_add_plugin(NAME ${TARGET_NAME}
|
||||
PSEUDO_PLUGIN_FOR "MULTI"
|
||||
DEFAULT_CONFIG "MULTI_WORK_MODE_AS_AUTO:YES")
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine ngraph inference_engine_transformations)
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ngraph inference_engine_transformations)
|
||||
|
||||
set_ie_threading_interface_for(${TARGET_NAME})
|
||||
|
||||
|
||||
@@ -143,9 +143,9 @@ if(ENABLE_GAPI_PREPROCESSING)
|
||||
endif()
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
# for static linkage the dependencies are in opposite order
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine)
|
||||
else()
|
||||
# for static linkage the dependencies are in opposite order
|
||||
target_link_libraries(inference_engine PRIVATE ${TARGET_NAME})
|
||||
endif()
|
||||
|
||||
|
||||
@@ -45,10 +45,11 @@ if(WIN32)
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
|
||||
endif()
|
||||
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
target_link_libraries(inference_engine PRIVATE ${TARGET_NAME})
|
||||
else()
|
||||
if(BUILD_SHARED_LIBS)
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE inference_engine)
|
||||
else()
|
||||
# for static linkage the dependencies are in opposite order
|
||||
target_link_libraries(inference_engine PRIVATE ${TARGET_NAME})
|
||||
endif()
|
||||
|
||||
# code style
|
||||
|
||||
@@ -39,7 +39,7 @@ endif()
|
||||
# "mvnc" must be the first library in the link list
|
||||
target_link_libraries(${TARGET_NAME}
|
||||
PRIVATE
|
||||
mvnc inference_engine inference_engine_legacy vpu_graph_transformer)
|
||||
mvnc inference_engine_legacy vpu_graph_transformer)
|
||||
|
||||
# MyriadPlugin is not safe to unload it at runtime
|
||||
if(LINUX AND LINUX_OS_NAME MATCHES "Ubuntu")
|
||||
|
||||
@@ -176,7 +176,7 @@ fi
|
||||
|
||||
# cmake 3.13 or higher is required to build OpenVINO
|
||||
current_cmake_version=$(cmake --version | sed -ne 's/[^0-9]*\(\([0-9]\.\)\{0,4\}[0-9][^.]\).*/\1/p')
|
||||
required_cmake_ver=3.13
|
||||
required_cmake_ver=3.17
|
||||
if [ ! "$(printf '%s\n' "$required_cmake_ver" "$current_cmake_version" | sort -V | head -n1)" = "$required_cmake_ver" ]; then
|
||||
wget "https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4.tar.gz"
|
||||
tar xf cmake-3.18.4.tar.gz
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
file(GLOB_RECURSE ENGINES_UTIL_SRC "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
||||
|
||||
add_library(engines_test_util STATIC ${ENGINES_UTIL_SRC})
|
||||
add_library(engines_test_util STATIC EXCLUDE_FROM_ALL ${ENGINES_UTIL_SRC})
|
||||
|
||||
ie_faster_build(engines_test_util UNITY)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
file(GLOB_RECURSE UTIL_SRC "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")
|
||||
|
||||
add_library(ngraph_test_util STATIC ${UTIL_SRC})
|
||||
add_library(ngraph_test_util STATIC EXCLUDE_FROM_ALL ${UTIL_SRC})
|
||||
|
||||
ie_faster_build(ngraph_test_util UNITY)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user