Conan port (#17625)
This commit is contained in:
parent
cebbfe65ac
commit
6d17bbb7e9
|
|
@ -141,7 +141,6 @@ jobs:
|
|||
-DANDROID_STL=c++_shared
|
||||
-DANDROID_PLATFORM=$(ANDROID_SDK_VERSION)
|
||||
-DENABLE_TESTS=ON
|
||||
-DENABLE_INTEL_GPU=ON
|
||||
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
|
||||
-DCMAKE_C_LINKER_LAUNCHER=ccache
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
|
|
|
|||
|
|
@ -245,6 +245,7 @@ jobs:
|
|||
-DCMAKE_CXX_COMPILER=clang++
|
||||
-DCMAKE_C_COMPILER=clang
|
||||
-DENABLE_SYSTEM_SNAPPY=ON
|
||||
-DENABLE_SYSTEM_TBB=ON
|
||||
-DCPACK_GENERATOR=$(CMAKE_CPACK_GENERATOR)
|
||||
-DBUILD_nvidia_plugin=OFF
|
||||
-S $(REPO_DIR)
|
||||
|
|
|
|||
|
|
@ -108,17 +108,17 @@ jobs:
|
|||
|
||||
- checkout: self
|
||||
clean: 'true'
|
||||
submodules: 'true'
|
||||
path: openvino
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
sudo -E $(OPENVINO_REPO_DIR)/install_build_dependencies.sh
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/requirements.txt
|
||||
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt
|
||||
# install dependencies needed to build CPU plugin for ARM
|
||||
sudo -E apt --assume-yes install scons crossbuild-essential-arm64
|
||||
# generic dependencies
|
||||
sudo -E apt --assume-yes install cmake ccache
|
||||
# Speed up build
|
||||
sudo -E apt -y --no-install-recommends install unzip
|
||||
wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip
|
||||
|
|
@ -126,25 +126,60 @@ jobs:
|
|||
sudo cp -v ninja /usr/local/bin/
|
||||
displayName: 'Install dependencies'
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-G "Ninja Multi-Config"
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
||||
-DOpenCV_DIR=$(INSTALL_OPENCV)/cmake
|
||||
-DENABLE_PYTHON=OFF
|
||||
-DENABLE_TESTS=ON
|
||||
-DENABLE_DATA=OFF
|
||||
-DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||
-DARM_COMPUTE_SCONS_JOBS=$(NUM_PROC)
|
||||
-DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO)
|
||||
-S $(OPENVINO_REPO_DIR)
|
||||
- script: |
|
||||
git submodule update --init -- $(OPENVINO_REPO_DIR)/src/plugins
|
||||
git submodule update --init -- $(OPENVINO_REPO_DIR)/thirdparty/gtest
|
||||
displayName: 'Init submodules for non Conan dependencies'
|
||||
|
||||
- script: |
|
||||
python3 -m pip install conan
|
||||
# generate build profile
|
||||
conan profile detect
|
||||
# generate host profile for linux_arm64
|
||||
echo "include(default)" > $(BUILD_OPENVINO)/linux_arm64
|
||||
echo "[buildenv]" >> $(BUILD_OPENVINO)/linux_arm64
|
||||
echo "CC=aarch64-linux-gnu-gcc" >> $(BUILD_OPENVINO)/linux_arm64
|
||||
echo "CXX=aarch64-linux-gnu-g++" >> $(BUILD_OPENVINO)/linux_arm64
|
||||
# install OpenVINO dependencies
|
||||
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
export CMAKE_C_COMPILER_LAUNCHER=ccache
|
||||
conan install $(OPENVINO_REPO_DIR)/conanfile.txt \
|
||||
-pr:h $(BUILD_OPENVINO)/linux_arm64 \
|
||||
-s:h arch=armv8 \
|
||||
-of $(BUILD_OPENVINO) \
|
||||
-b missing
|
||||
env:
|
||||
CCACHE_DIR: $(OPENVINO_CCACHE_DIR)
|
||||
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
|
||||
CCACHE_BASEDIR: $(Pipeline.Workspace)
|
||||
CCACHE_MAXSIZE: 50G
|
||||
displayName: 'Install conan and dependencies'
|
||||
|
||||
- script: |
|
||||
source $(BUILD_OPENVINO)/conanbuild.sh
|
||||
cmake \
|
||||
-G Ninja \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
||||
-DENABLE_CPPLINT=OFF \
|
||||
-DENABLE_PYTHON=OFF \
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_DATA=OFF \
|
||||
-DENABLE_SYSTEM_TBB=ON \
|
||||
-DENABLE_SYSTEM_PROTOBUF=ON \
|
||||
-DENABLE_SYSTEM_SNAPPY=ON \
|
||||
-DENABLE_SYSTEM_PUGIXML=ON \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$(BUILD_OPENVINO)/conan_toolchain.cmake \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||
-DARM_COMPUTE_SCONS_JOBS=$(NUM_PROC) \
|
||||
-DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO) \
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
|
||||
-S $(OPENVINO_REPO_DIR) \
|
||||
-B $(BUILD_OPENVINO)
|
||||
displayName: 'CMake OpenVINO ARM plugin'
|
||||
source $(BUILD_OPENVINO)/deactivate_conanbuild.sh
|
||||
displayName: 'CMake configure'
|
||||
|
||||
- script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE)
|
||||
env:
|
||||
|
|
@ -152,13 +187,13 @@ jobs:
|
|||
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
|
||||
CCACHE_BASEDIR: $(Pipeline.Workspace)
|
||||
CCACHE_MAXSIZE: 50G
|
||||
displayName: 'Build OpenVINO ARM plugin'
|
||||
displayName: 'Build OpenVINO Runtime'
|
||||
|
||||
- script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE) --target install
|
||||
displayName: 'Install OpenVINO ARM plugin'
|
||||
displayName: 'Install OpenVINO Runtime'
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
PathtoPublish: $(Build.ArtifactStagingDirectory)
|
||||
ArtifactName: 'openvino_aarch64_linux'
|
||||
displayName: 'Publish OpenVINO AArch64 linux package'
|
||||
displayName: 'Publish OpenVINO Runtime for ARM'
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ jobs:
|
|||
-G Ninja ^
|
||||
-DENABLE_CPPLINT=OFF ^
|
||||
-DENABLE_GAPI_PREPROCESSING=OFF ^
|
||||
-DENABLE_FASTER_BUILD=ON ^
|
||||
-DENABLE_PLUGINS_XML=ON ^
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON ^
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) ^
|
||||
-DENABLE_PROFILING_ITT=ON ^
|
||||
|
|
@ -153,7 +153,6 @@ jobs:
|
|||
-DVERBOSE_BUILD=ON ^
|
||||
-DENABLE_CPPLINT=OFF ^
|
||||
-DENABLE_GAPI_PREPROCESSING=OFF ^
|
||||
-DENABLE_FASTER_BUILD=ON ^
|
||||
-DENABLE_PROFILING_ITT=OFF ^
|
||||
-DSELECTIVE_BUILD=ON ^
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON ^
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ temp/
|
|||
.repo/
|
||||
CMakeLists.txt.user
|
||||
docs/IE_PLUGIN_DG/html/
|
||||
CMakeUserPresets.json
|
||||
|
||||
*.project
|
||||
*.cproject
|
||||
|
|
|
|||
|
|
@ -40,8 +40,6 @@ endif()
|
|||
|
||||
# resolving dependencies for the project
|
||||
message (STATUS "CMAKE_VERSION ......................... " ${CMAKE_VERSION})
|
||||
message (STATUS "CMAKE_BINARY_DIR ...................... " ${CMAKE_BINARY_DIR})
|
||||
message (STATUS "CMAKE_SOURCE_DIR ...................... " ${CMAKE_SOURCE_DIR})
|
||||
message (STATUS "OpenVINO_SOURCE_DIR ................... " ${OpenVINO_SOURCE_DIR})
|
||||
message (STATUS "OpenVINO_BINARY_DIR ................... " ${OpenVINO_BINARY_DIR})
|
||||
message (STATUS "CMAKE_GENERATOR ....................... " ${CMAKE_GENERATOR})
|
||||
|
|
@ -66,7 +64,7 @@ endif()
|
|||
if(CMAKE_TOOLCHAIN_FILE)
|
||||
message (STATUS "CMAKE_TOOLCHAIN_FILE .................. " ${CMAKE_TOOLCHAIN_FILE})
|
||||
endif()
|
||||
if(OV_GLIBC_VERSION)
|
||||
if(NOT OV_GLIBC_VERSION VERSION_EQUAL 0.0)
|
||||
message (STATUS "GLIBC_VERSION ......................... " ${OV_GLIBC_VERSION})
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -111,8 +111,8 @@ else()
|
|||
set(BIN_FOLDER "bin/${ARCH_FOLDER}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||
# Ninja-Multi specific, see:
|
||||
if(CMAKE_GENERATOR STREQUAL "Ninja Multi-Config")
|
||||
# 'Ninja Multi-Config' specific, see:
|
||||
# https://cmake.org/cmake/help/latest/variable/CMAKE_DEFAULT_BUILD_TYPE.html
|
||||
set(CMAKE_DEFAULT_BUILD_TYPE "Release" CACHE STRING "CMake default build type")
|
||||
elseif(NOT OV_GENERATOR_MULTI_CONFIG)
|
||||
|
|
@ -240,7 +240,7 @@ if(ENABLE_LTO)
|
|||
LANGUAGES C CXX)
|
||||
|
||||
if(NOT IPO_SUPPORTED)
|
||||
set(ENABLE_LTO "OFF" CACHE STRING "Enable Link Time Optmization" FORCE)
|
||||
set(ENABLE_LTO "OFF" CACHE STRING "Enable Link Time Optimization" FORCE)
|
||||
message(WARNING "IPO / LTO is not supported: ${OUTPUT_MESSAGE}")
|
||||
endif()
|
||||
endif()
|
||||
|
|
@ -250,8 +250,8 @@ endif()
|
|||
macro(ov_install_static_lib target comp)
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
get_target_property(target_type ${target} TYPE)
|
||||
if(${target_type} STREQUAL "STATIC_LIBRARY")
|
||||
set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL FALSE)
|
||||
if(target_type STREQUAL "STATIC_LIBRARY")
|
||||
set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL OFF)
|
||||
endif()
|
||||
install(TARGETS ${target} EXPORT OpenVINOTargets
|
||||
ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR} COMPONENT ${comp} ${ARGN})
|
||||
|
|
|
|||
|
|
@ -4,23 +4,28 @@
|
|||
|
||||
if(WIN32)
|
||||
set(PROGRAMFILES_ENV "ProgramFiles(X86)")
|
||||
file(TO_CMAKE_PATH $ENV{${PROGRAMFILES_ENV}} PROGRAMFILES)
|
||||
|
||||
set(WDK_PATHS "${PROGRAMFILES}/Windows Kits/10/bin/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}/x64"
|
||||
"${PROGRAMFILES}/Windows Kits/10/bin/x64")
|
||||
# check that PROGRAMFILES_ENV is defined, because in case of cross-compilation for Windows
|
||||
# we don't have such variable
|
||||
if(DEFINED ENV{PROGRAMFILES_ENV})
|
||||
file(TO_CMAKE_PATH $ENV{${PROGRAMFILES_ENV}} PROGRAMFILES)
|
||||
|
||||
message(STATUS "Trying to find apivalidator in: ")
|
||||
foreach(wdk_path IN LISTS WDK_PATHS)
|
||||
message(" * ${wdk_path}")
|
||||
endforeach()
|
||||
set(WDK_PATHS "${PROGRAMFILES}/Windows Kits/10/bin/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}/x64"
|
||||
"${PROGRAMFILES}/Windows Kits/10/bin/x64")
|
||||
|
||||
find_host_program(ONECORE_API_VALIDATOR
|
||||
NAMES apivalidator
|
||||
PATHS ${WDK_PATHS}
|
||||
DOC "ApiValidator for OneCore compliance")
|
||||
message(STATUS "Trying to find apivalidator in: ")
|
||||
foreach(wdk_path IN LISTS WDK_PATHS)
|
||||
message(" * ${wdk_path}")
|
||||
endforeach()
|
||||
|
||||
if(ONECORE_API_VALIDATOR)
|
||||
message(STATUS "Found apivalidator: ${ONECORE_API_VALIDATOR}")
|
||||
find_host_program(ONECORE_API_VALIDATOR
|
||||
NAMES apivalidator
|
||||
PATHS ${WDK_PATHS}
|
||||
DOC "ApiValidator for OneCore compliance")
|
||||
|
||||
if(ONECORE_API_VALIDATOR)
|
||||
message(STATUS "Found apivalidator: ${ONECORE_API_VALIDATOR}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,13 @@
|
|||
|
||||
macro(enable_fuzzing)
|
||||
# Enable (libFuzzer)[https://llvm.org/docs/LibFuzzer.html] if supported.
|
||||
set(FUZZING_COMPILER_FLAGS "-fsanitize=fuzzer-no-link -fprofile-instr-generate -fcoverage-mapping")
|
||||
set(FUZZING_LINKER_FLAGS "-fsanitize-coverage=trace-pc-guard -fprofile-instr-generate")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# see https://learn.microsoft.com/en-us/cpp/build/reference/fsanitize?view=msvc-160#remarks
|
||||
set(FUZZING_COMPILER_FLAGS "/fsanitize=fuzzer")
|
||||
elseif(OV_COMPILER_IS_CLANG)
|
||||
set(FUZZING_COMPILER_FLAGS "-fsanitize=fuzzer-no-link -fprofile-instr-generate -fcoverage-mapping")
|
||||
set(FUZZING_LINKER_FLAGS "-fsanitize-coverage=trace-pc-guard -fprofile-instr-generate")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FUZZING_COMPILER_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FUZZING_COMPILER_FLAGS}")
|
||||
|
|
@ -20,6 +25,10 @@ function(add_fuzzer FUZZER_EXE_NAME FUZZER_SOURCES)
|
|||
add_executable(${FUZZER_EXE_NAME} ${FUZZER_SOURCES})
|
||||
target_link_libraries(${FUZZER_EXE_NAME} PRIVATE fuzz-testhelper)
|
||||
if(ENABLE_FUZZING)
|
||||
set_target_properties(${FUZZER_EXE_NAME} PROPERTIES LINK_FLAGS "-fsanitize=fuzzer")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# no extra flags are required
|
||||
elseif(OV_COMPILER_IS_CLANG)
|
||||
set_target_properties(${FUZZER_EXE_NAME} PROPERTIES LINK_FLAGS "-fsanitize=fuzzer")
|
||||
endif()
|
||||
endif()
|
||||
endfunction(add_fuzzer)
|
||||
|
|
|
|||
|
|
@ -12,23 +12,17 @@ include(CheckCXXCompilerFlag)
|
|||
# Defines ie_c_cxx_deprecated varaible which contains C / C++ compiler flags
|
||||
#
|
||||
macro(ov_disable_deprecated_warnings)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(ie_c_cxx_deprecated "/wd4996")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
set(ie_c_cxx_deprecated "/Qdiag-disable:1478,1786")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(ie_c_cxx_deprecated "/wd4996")
|
||||
elseif(OV_COMPILER_IS_CLANG)
|
||||
set(ie_c_cxx_deprecated "-Wno-deprecated-declarations")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
else()
|
||||
set(ie_c_cxx_deprecated "-diag-disable=1478,1786")
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(ie_c_cxx_deprecated "-Wno-deprecated-declarations")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT ie_c_cxx_deprecated)
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(ie_c_cxx_deprecated "-Wno-deprecated-declarations")
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
|
||||
|
|
@ -49,24 +43,18 @@ endmacro()
|
|||
# Defines ie_c_cxx_deprecated_no_errors varaible which contains C / C++ compiler flags
|
||||
#
|
||||
macro(ov_deprecated_no_errors)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# show 4996 only for /w4
|
||||
set(ie_c_cxx_deprecated_no_errors "/wd4996")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
set(ie_c_cxx_deprecated_no_errors "/Qdiag-warning:1478,1786")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# show 4996 only for /w4
|
||||
set(ie_c_cxx_deprecated_no_errors "/wd4996")
|
||||
elseif(OV_COMPILER_IS_CLANG)
|
||||
set(ie_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
else()
|
||||
set(ie_c_cxx_deprecated_no_errors "-diag-warning=1478,1786")
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(ie_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT ie_c_cxx_deprecated_no_errors)
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(ie_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations")
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
|
||||
|
|
@ -101,23 +89,21 @@ endmacro()
|
|||
# Provides SSE4.2 compilation flags depending on an OS and a compiler
|
||||
#
|
||||
macro(ie_sse42_optimization_flags flags)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# No such option for MSVC 2019
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# No such option for MSVC 2019
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
set(${flags} /QxSSE4.2)
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
set(${flags} -xSSE4.2)
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(${flags} -msse4.2)
|
||||
if(EMSCRIPTEN)
|
||||
list(APPEND ${flags} -msimd128)
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} -xSSE4.2)
|
||||
else()
|
||||
set(${flags} -msse4.2)
|
||||
if(EMSCRIPTEN)
|
||||
list(APPEND ${flags} -msimd128)
|
||||
endif()
|
||||
endif()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
|
@ -127,20 +113,18 @@ endmacro()
|
|||
# Provides AVX2 compilation flags depending on an OS and a compiler
|
||||
#
|
||||
macro(ie_avx2_optimization_flags flags)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX2)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
set(${flags} /QxCORE-AVX2)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX2)
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} -xCORE-AVX2)
|
||||
else()
|
||||
set(${flags} -mavx2 -mfma)
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(${flags} -mavx2 -mfma)
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
|
@ -151,24 +135,18 @@ endmacro()
|
|||
# depending on an OS and a compiler
|
||||
#
|
||||
macro(ie_avx512_optimization_flags flags)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX512)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
set(${flags} /QxCOMMON-AVX512)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX512)
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} -xCOMMON-AVX512)
|
||||
endif()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(${flags} -mavx512f -mfma)
|
||||
endif()
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "^(Clang|AppleClang)$")
|
||||
set(${flags} -mavx512f -mfma)
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(${flags} -mavx512f -mfma)
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
|
@ -265,8 +243,10 @@ endfunction()
|
|||
function(ov_force_include target scope header_file)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
target_compile_options(${target} ${scope} /FI"${header_file}")
|
||||
else()
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
target_compile_options(${target} ${scope} -include "${header_file}")
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
|
@ -318,11 +298,11 @@ set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
|
|||
if(CMAKE_CL_64)
|
||||
# Default char Type Is unsigned
|
||||
# ie_add_compiler_flags(/J)
|
||||
else()
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
ie_add_compiler_flags(-fsigned-char)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
#
|
||||
# Common options / warnings enabled
|
||||
#
|
||||
|
|
@ -335,16 +315,14 @@ if(WIN32)
|
|||
# This option helps ensure the fewest possible hard-to-find code defects. Similar to -Wall on GNU / Clang
|
||||
ie_add_compiler_flags(/W3)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# Increase Number of Sections in .Obj file
|
||||
ie_add_compiler_flags(/bigobj)
|
||||
# Build with multiple processes
|
||||
ie_add_compiler_flags(/MP)
|
||||
# Increase Number of Sections in .Obj file
|
||||
ie_add_compiler_flags(/bigobj)
|
||||
# Build with multiple processes
|
||||
ie_add_compiler_flags(/MP)
|
||||
|
||||
if(AARCH64 AND NOT MSVC_VERSION LESS 1930)
|
||||
# otherwise, _ARM64_EXTENDED_INTRINSICS is defined, which defines 'mvn' macro
|
||||
ie_add_compiler_flags(/D_ARM64_DISTINCT_NEON_TYPES)
|
||||
endif()
|
||||
if(AARCH64 AND NOT MSVC_VERSION LESS 1930)
|
||||
# otherwise, _ARM64_EXTENDED_INTRINSICS is defined, which defines 'mvn' macro
|
||||
ie_add_compiler_flags(/D_ARM64_DISTINCT_NEON_TYPES)
|
||||
endif()
|
||||
|
||||
# Handle Large Addresses
|
||||
|
|
@ -361,42 +339,62 @@ if(WIN32)
|
|||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /WX")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /WX")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WX")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
ie_add_compiler_flags(/Qdiag-warning:47,1740,1786)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#
|
||||
# Disable noisy warnings
|
||||
#
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# C4251 needs to have dll-interface to be used by clients of class
|
||||
ie_add_compiler_flags(/wd4251)
|
||||
# C4275 non dll-interface class used as base for dll-interface class
|
||||
ie_add_compiler_flags(/wd4275)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
# 161: unrecognized pragma
|
||||
# 177: variable was declared but never referenced
|
||||
# 556: not matched type of assigned function pointer
|
||||
# 1744: field of class type without a DLL interface used in a class with a DLL interface
|
||||
# 1879: unimplemented pragma ignored
|
||||
# 2586: decorated name length exceeded, name was truncated
|
||||
# 2651: attribute does not apply to any entity
|
||||
# 3180: unrecognized OpenMP pragma
|
||||
# 11075: To get full report use -Qopt-report:4 -Qopt-report-phase ipo
|
||||
# 15335: was not vectorized: vectorization possible but seems inefficient. Use vector always directive or /Qvec-threshold0 to override
|
||||
ie_add_compiler_flags(/Qdiag-disable:161,177,556,1744,1879,2586,2651,3180,11075,15335)
|
||||
endif()
|
||||
# C4251 needs to have dll-interface to be used by clients of class
|
||||
ie_add_compiler_flags(/wd4251)
|
||||
# C4275 non dll-interface class used as base for dll-interface class
|
||||
ie_add_compiler_flags(/wd4275)
|
||||
|
||||
#
|
||||
# Debug information flags, by default CMake adds /Zi option
|
||||
# but provides no way to specify CMAKE_COMPILE_PDB_NAME on root level
|
||||
# In order to avoid issues with ninja we are replacing default flag instead of having two of them
|
||||
# and observing warning D9025 about flag override
|
||||
#
|
||||
|
||||
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
|
||||
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND WIN32)
|
||||
#
|
||||
# Warnings as errors
|
||||
#
|
||||
|
||||
if(CMAKE_COMPILE_WARNING_AS_ERROR AND CMAKE_VERSION VERSION_LESS 3.24)
|
||||
ie_add_compiler_flags(/Qdiag-warning:47,1740,1786)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Disable noisy warnings
|
||||
#
|
||||
|
||||
# 161: unrecognized pragma
|
||||
ie_add_compiler_flags(/Qdiag-disable:161)
|
||||
# 177: variable was declared but never referenced
|
||||
ie_add_compiler_flags(/Qdiag-disable:177)
|
||||
# 556: not matched type of assigned function pointer
|
||||
ie_add_compiler_flags(/Qdiag-disable:556)
|
||||
# 1744: field of class type without a DLL interface used in a class with a DLL interface
|
||||
ie_add_compiler_flags(/Qdiag-disable:1744)
|
||||
# 1879: unimplemented pragma ignored
|
||||
ie_add_compiler_flags(/Qdiag-disable:1879)
|
||||
# 2586: decorated name length exceeded, name was truncated
|
||||
ie_add_compiler_flags(/Qdiag-disable:2586)
|
||||
# 2651: attribute does not apply to any entity
|
||||
ie_add_compiler_flags(/Qdiag-disable:2651)
|
||||
# 3180: unrecognized OpenMP pragma
|
||||
ie_add_compiler_flags(/Qdiag-disable:3180)
|
||||
# 11075: To get full report use -Qopt-report:4 -Qopt-report-phase ipo
|
||||
ie_add_compiler_flags(/Qdiag-disable:11075)
|
||||
# 15335: was not vectorized: vectorization possible but seems inefficient.
|
||||
# Use vector always directive or /Qvec-threshold0 to override
|
||||
ie_add_compiler_flags(/Qdiag-disable:15335)
|
||||
else()
|
||||
#
|
||||
# Common enabled warnings
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@
|
|||
include(CheckCXXCompilerFlag)
|
||||
|
||||
if (ENABLE_SANITIZER)
|
||||
if (WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# the flag is available since MSVC 2019 16.9
|
||||
# see https://learn.microsoft.com/en-us/cpp/build/reference/fsanitize?view=msvc-160
|
||||
check_cxx_compiler_flag("/fsanitize=address" SANITIZE_ADDRESS_SUPPORTED)
|
||||
if (SANITIZE_ADDRESS_SUPPORTED)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} /fsanitize=address")
|
||||
|
|
@ -14,21 +16,23 @@ if (ENABLE_SANITIZER)
|
|||
"Please, check requirements:\n"
|
||||
"https://github.com/openvinotoolkit/openvino/wiki/AddressSanitizer-and-LeakSanitizer")
|
||||
endif()
|
||||
else()
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize=address")
|
||||
check_cxx_compiler_flag("-fsanitize-recover=address" SANITIZE_RECOVER_ADDRESS_SUPPORTED)
|
||||
if (SANITIZE_RECOVER_ADDRESS_SUPPORTED)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize-recover=address")
|
||||
endif()
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=address")
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (ENABLE_UB_SANITIZER)
|
||||
if (WIN32)
|
||||
message(FATAL_ERROR "UndefinedBehavior sanitizer is not supported in Windows")
|
||||
if(ENABLE_UB_SANITIZER)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
message(FATAL_ERROR "UndefinedBehavior sanitizer is not supported in Windows with MSVC compiler. Please, use clang-cl or mingw")
|
||||
endif()
|
||||
|
||||
|
||||
# TODO: Remove -fno-sanitize=null as thirdparty/ocl/clhpp_headers UBSAN compatibility resolved:
|
||||
# https://github.com/KhronosGroup/OpenCL-CLHPP/issues/17
|
||||
# Mute -fsanitize=function Indirect call of a function through a function pointer of the wrong type.
|
||||
|
|
@ -48,43 +52,50 @@ if (ENABLE_UB_SANITIZER)
|
|||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fno-sanitize=function")
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
# TODO: Remove -Wno-maybe-uninitialized after CVS-61143 fix
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
# TODO: Remove -Wno-maybe-uninitialized after CVS-61143 is fixed
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -Wno-maybe-uninitialized")
|
||||
endif()
|
||||
check_cxx_compiler_flag("-fsanitize-recover=undefined" SANITIZE_RECOVER_UNDEFINED_SUPPORTED)
|
||||
if (SANITIZE_RECOVER_UNDEFINED_SUPPORTED)
|
||||
if(SANITIZE_RECOVER_UNDEFINED_SUPPORTED)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize-recover=undefined")
|
||||
endif()
|
||||
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=undefined")
|
||||
endif()
|
||||
|
||||
if (ENABLE_THREAD_SANITIZER)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize=thread")
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=thread")
|
||||
if(ENABLE_THREAD_SANITIZER)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
message(FATAL_ERROR "Thread sanitizer is not supported in Windows with MSVC compiler. Please, use clang-cl or mingw")
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize=thread")
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=thread")
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# common sanitizer options
|
||||
if (DEFINED SANITIZER_COMPILER_FLAGS)
|
||||
if(DEFINED SANITIZER_COMPILER_FLAGS)
|
||||
# ensure symbols are present
|
||||
if (NOT WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} /Oy-")
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -g -fno-omit-frame-pointer")
|
||||
if(NOT OV_COMPILER_IS_CLANG)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
# GPU plugin tests compilation is slow with -fvar-tracking-assignments on GCC.
|
||||
# Clang has no var-tracking-assignments.
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fno-var-tracking-assignments")
|
||||
endif()
|
||||
# prevent unloading libraries at runtime, so sanitizer can resolve their symbols
|
||||
if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
if(NOT OV_COMPILER_IS_APPLECLANG)
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -Wl,-z,nodelete")
|
||||
if(OV_COMPILER_IS_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fuse-ld=lld")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
else()
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} /Oy-")
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_COMPILER_FLAGS}")
|
||||
|
|
|
|||
|
|
@ -2,61 +2,68 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(UNIX)
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -Wformat -Wformat-security")
|
||||
if(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG OR
|
||||
(UNIX AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel"))
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -Wformat -Wformat-security")
|
||||
|
||||
if (NOT ENABLE_SANITIZER)
|
||||
if(EMSCRIPTEN)
|
||||
# emcc does not support fortification, see:
|
||||
# https://stackoverflow.com/questions/58854858/undefined-symbol-stack-chk-guard-in-libopenh264-so-when-building-ffmpeg-wit
|
||||
else()
|
||||
# ASan does not support fortification https://github.com/google/sanitizers/issues/247
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -D_FORTIFY_SOURCE=2")
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -D_FORTIFY_SOURCE=2")
|
||||
endif()
|
||||
endif()
|
||||
if(NOT APPLE)
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -pie")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(IE_LINKER_FLAGS "${IE_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fno-strict-overflow -fno-delete-null-pointer-checks -fwrapv")
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fno-strict-overflow -fno-delete-null-pointer-checks -fwrapv")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-all")
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-all")
|
||||
else()
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-strong")
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-strong")
|
||||
endif()
|
||||
if (NOT ENABLE_SANITIZER)
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -s")
|
||||
# Remove all symbol table and relocation information from the executable
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -s")
|
||||
endif()
|
||||
if(NOT MINGW)
|
||||
set(OV_LINKER_FLAGS "${OV_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG)
|
||||
if(EMSCRIPTEN)
|
||||
# emcc does not support fortification
|
||||
# https://stackoverflow.com/questions/58854858/undefined-symbol-stack-chk-guard-in-libopenh264-so-when-building-ffmpeg-wit
|
||||
else()
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-all")
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-all")
|
||||
endif()
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if (NOT ENABLE_SANITIZER)
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -Wl,--strip-all")
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -Wl,--strip-all")
|
||||
endif()
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-strong")
|
||||
set(IE_LINKER_FLAGS "${IE_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} /sdl")
|
||||
endif()
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} /guard:cf")
|
||||
if(ENABLE_INTEGRITYCHECK)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /INTEGRITYCHECK")
|
||||
endif()
|
||||
if(ENABLE_QSPECTRE)
|
||||
ie_add_compiler_flags(/Qspectre)
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-strong")
|
||||
set(OV_LINKER_FLAGS "${OV_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||
endif()
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} /sdl /guard:cf")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${IE_C_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${IE_C_CXX_FLAGS}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${IE_LINKER_FLAGS}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ${IE_LINKER_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${IE_LINKER_FLAGS}")
|
||||
if(ENABLE_QSPECTRE)
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} /Qspectre")
|
||||
endif()
|
||||
|
||||
if(ENABLE_INTEGRITYCHECK)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /INTEGRITYCHECK")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${OV_C_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${OV_C_CXX_FLAGS}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${OV_LINKER_FLAGS}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ${OV_LINKER_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${OV_LINKER_FLAGS}")
|
||||
|
||||
unset(OV_C_CXX_FLAGS)
|
||||
unset(OV_LINKER_FLAGS)
|
||||
|
|
|
|||
|
|
@ -641,7 +641,7 @@ _repository = None
|
|||
# Files to exclude from linting. This is set by the --exclude flag.
|
||||
_excludes = None
|
||||
|
||||
# Whether to supress PrintInfo messages
|
||||
# Whether to suppress PrintInfo messages
|
||||
_quiet = False
|
||||
|
||||
# The allowed line length of files.
|
||||
|
|
@ -752,7 +752,7 @@ def ParseNolintSuppressions(filename, raw_line, linenum, error):
|
|||
'Unknown NOLINT error category: %s' % category)
|
||||
|
||||
|
||||
def ProcessGlobalSuppresions(lines):
|
||||
def ProcessGlobalSuppressions(lines):
|
||||
"""Updates the list of global error suppressions.
|
||||
|
||||
Parses any lint directives in the file that have global effect.
|
||||
|
|
@ -780,7 +780,7 @@ def IsErrorSuppressedByNolint(category, linenum):
|
|||
"""Returns true if the specified error category is suppressed on this line.
|
||||
|
||||
Consults the global error_suppressions map populated by
|
||||
ParseNolintSuppressions/ProcessGlobalSuppresions/ResetNolintSuppressions.
|
||||
ParseNolintSuppressions/ProcessGlobalSuppressions/ResetNolintSuppressions.
|
||||
|
||||
Args:
|
||||
category: str, the category of the error.
|
||||
|
|
@ -6203,7 +6203,7 @@ def ProcessFileData(filename, file_extension, lines, error,
|
|||
ResetNolintSuppressions()
|
||||
|
||||
CheckForCopyright(filename, lines, error)
|
||||
ProcessGlobalSuppresions(lines)
|
||||
ProcessGlobalSuppressions(lines)
|
||||
RemoveMultiLineComments(filename, lines, error)
|
||||
clean_lines = CleansedLines(lines)
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,12 @@ ie_option (VERBOSE_BUILD "shows extra information about build" OFF)
|
|||
|
||||
ie_option (ENABLE_UNSAFE_LOCATIONS "skip check for MD5 for dependency" OFF)
|
||||
|
||||
ie_dependent_option (ENABLE_FUZZING "instrument build for fuzzing" OFF "OV_COMPILER_IS_CLANG;NOT WIN32" OFF)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND MSVC_VERSION GREATER_EQUAL 1930)
|
||||
# Visual Studio 2022: 1930-1939 = VS 17.0 (v143 toolset)
|
||||
set(_msvc_version_2022 ON)
|
||||
endif()
|
||||
|
||||
ie_dependent_option (ENABLE_FUZZING "instrument build for fuzzing" OFF "OV_COMPILER_IS_CLANG OR _msvc_version_2022" OFF)
|
||||
|
||||
#
|
||||
# Check features
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ macro(ov_add_frontend)
|
|||
endforeach()
|
||||
|
||||
# Disable all warnings for generated code
|
||||
set_source_files_properties(${PROTO_SRCS} ${PROTO_HDRS} PROPERTIES COMPILE_OPTIONS -w GENERATED TRUE)
|
||||
set_source_files_properties(${PROTO_SRCS} ${PROTO_HDRS} PROPERTIES COMPILE_OPTIONS -w GENERATED ON)
|
||||
|
||||
# Create library
|
||||
add_library(${TARGET_NAME} ${LIBRARY_SRC} ${LIBRARY_HEADERS} ${LIBRARY_PUBLIC_HEADERS}
|
||||
|
|
@ -204,8 +204,7 @@ macro(ov_add_frontend)
|
|||
ov_add_vs_version_file(NAME ${TARGET_NAME}
|
||||
FILEDESCRIPTION ${OV_FRONTEND_FILEDESCRIPTION})
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime)
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ${OV_FRONTEND_LINK_LIBRARIES})
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ${OV_FRONTEND_LINK_LIBRARIES} PUBLIC openvino::runtime)
|
||||
ov_add_library_version(${TARGET_NAME})
|
||||
|
||||
# WA for TF frontends which always require protobuf (not protobuf-lite)
|
||||
|
|
@ -216,23 +215,34 @@ macro(ov_add_frontend)
|
|||
|
||||
if(proto_files)
|
||||
if(OV_FRONTEND_PROTOBUF_LITE)
|
||||
if(NOT protobuf_lite_installed)
|
||||
ov_install_static_lib(${Protobuf_LITE_LIBRARIES} ${OV_CPACK_COMP_CORE})
|
||||
set(protobuf_lite_installed ON CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
link_system_libraries(${TARGET_NAME} PRIVATE ${Protobuf_LITE_LIBRARIES})
|
||||
set(protobuf_target_name libprotobuf-lite)
|
||||
set(protobuf_install_name "protobuf_lite_installed")
|
||||
else()
|
||||
if(NOT protobuf_installed)
|
||||
ov_install_static_lib(${Protobuf_LIBRARIES} ${OV_CPACK_COMP_CORE})
|
||||
set(protobuf_installed ON CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
link_system_libraries(${TARGET_NAME} PRIVATE ${Protobuf_LIBRARIES})
|
||||
set(protobuf_target_name libprotobuf)
|
||||
set(protobuf_install_name "protobuf_installed")
|
||||
endif()
|
||||
if(ENABLE_SYSTEM_PROTOBUF)
|
||||
# use imported target name with namespace
|
||||
set(protobuf_target_name "protobuf::${protobuf_target_name}")
|
||||
endif()
|
||||
|
||||
# prptobuf generated code emits -Wsuggest-override error
|
||||
link_system_libraries(${TARGET_NAME} PRIVATE ${protobuf_target_name})
|
||||
|
||||
# protobuf generated code emits -Wsuggest-override error
|
||||
if(SUGGEST_OVERRIDE_SUPPORTED)
|
||||
target_compile_options(${TARGET_NAME} PRIVATE -Wno-suggest-override)
|
||||
endif()
|
||||
|
||||
# install protobuf if it is not installed yet
|
||||
if(NOT ${protobuf_install_name})
|
||||
if(ENABLE_SYSTEM_PROTOBUF)
|
||||
# we have to add find_package(Protobuf) to the OpenVINOConfig.cmake for static build
|
||||
# no needs to install protobuf
|
||||
else()
|
||||
ov_install_static_lib(${protobuf_target_name} ${OV_CPACK_COMP_CORE})
|
||||
set("${protobuf_install_name}" ON CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(flatbuffers_schema_files)
|
||||
|
|
|
|||
|
|
@ -2,41 +2,6 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
include(target_flags)
|
||||
|
||||
# TODO: remove this function: we must not have conditions for particular OS names or versions
|
||||
|
||||
# cmake needs to look at /etc files only when we build for Linux on Linux
|
||||
if(CMAKE_HOST_LINUX AND LINUX)
|
||||
function(get_linux_name res_var)
|
||||
if(EXISTS "/etc/lsb-release")
|
||||
# linux version detection using cat /etc/lsb-release
|
||||
file(READ "/etc/lsb-release" release_data)
|
||||
set(name_regex "DISTRIB_ID=([^ \n]*)\n")
|
||||
set(version_regex "DISTRIB_RELEASE=([0-9]+(\\.[0-9]+)?)")
|
||||
else()
|
||||
execute_process(COMMAND find -L /etc/ -maxdepth 1 -type f -name *-release -exec cat {} \;
|
||||
OUTPUT_VARIABLE release_data
|
||||
RESULT_VARIABLE result)
|
||||
string(REPLACE "Red Hat" "CentOS" release_data "${release_data}")
|
||||
set(name_regex "NAME=\"([^ \"\n]*).*\"\n")
|
||||
set(version_regex "VERSION=\"([0-9]+(\\.[0-9]+)?)[^\n]*\"")
|
||||
endif()
|
||||
|
||||
string(REGEX MATCH ${name_regex} name ${release_data})
|
||||
set(os_name ${CMAKE_MATCH_1})
|
||||
|
||||
string(REGEX MATCH ${version_regex} version ${release_data})
|
||||
set(os_name "${os_name} ${CMAKE_MATCH_1}")
|
||||
|
||||
if(os_name)
|
||||
set(${res_var} ${os_name} PARENT_SCOPE)
|
||||
else ()
|
||||
set(${res_var} NOTFOUND PARENT_SCOPE)
|
||||
endif ()
|
||||
endfunction()
|
||||
else()
|
||||
function(get_linux_name res_var)
|
||||
set(${res_var} NOTFOUND PARENT_SCOPE)
|
||||
endfunction()
|
||||
endif ()
|
||||
function(get_linux_name res_var)
|
||||
set(${res_var} NOTFOUND PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ macro(ov_common_libraries_cpack_set_dirs)
|
|||
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/inferenceengine${OpenVINO_VERSION})
|
||||
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
|
||||
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
|
||||
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
|
||||
set(OV_CPACK_LICENSESDIR licenses)
|
||||
|
||||
ov_get_pyversion(pyversion)
|
||||
if(pyversion)
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ macro(ov_debian_cpack_set_dirs)
|
|||
set(OV_CPACK_NGRAPH_CMAKEDIR ${OV_CPACK_RUNTIMEDIR}/cmake/ngraph${OpenVINO_VERSION})
|
||||
set(OV_CPACK_OPENVINO_CMAKEDIR ${OV_CPACK_RUNTIMEDIR}/cmake/openvino${OpenVINO_VERSION})
|
||||
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
|
||||
set(OV_CPACK_LICENSESDIR ${OV_CPACK_DOCDIR}/licenses)
|
||||
set(OV_CPACK_PYTHONDIR lib/python3/dist-packages)
|
||||
|
||||
# non-native stuff
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ macro(ov_cpack_set_dirs)
|
|||
set(OV_CPACK_NGRAPH_CMAKEDIR runtime/cmake)
|
||||
set(OV_CPACK_OPENVINO_CMAKEDIR runtime/cmake)
|
||||
set(OV_CPACK_DOCDIR docs)
|
||||
set(OV_CPACK_LICENSESDIR ${OV_CPACK_DOCDIR}/licenses)
|
||||
set(OV_CPACK_SAMPLESDIR samples)
|
||||
set(OV_CPACK_WHEELSDIR tools)
|
||||
set(OV_CPACK_TOOLSDIR tools)
|
||||
|
|
@ -99,10 +100,10 @@ endif()
|
|||
# if <FILE> is a symlink, we resolve it, but install file with a name of symlink
|
||||
#
|
||||
function(ov_install_with_name file component)
|
||||
if((APPLE AND file MATCHES "^[^\.]+\.[0-9]+${CMAKE_SHARED_LIBRARY_SUFFIX}$") OR
|
||||
(file MATCHES "^.*\.${CMAKE_SHARED_LIBRARY_SUFFIX}\.[0-9]+$"))
|
||||
get_filename_component(actual_name "${file}" NAME)
|
||||
if((APPLE AND actual_name MATCHES "^[^\.]+\.[0-9]+${CMAKE_SHARED_LIBRARY_SUFFIX}$") OR
|
||||
(actual_name MATCHES "^.*\.${CMAKE_SHARED_LIBRARY_SUFFIX}\.[0-9]+$"))
|
||||
if(IS_SYMLINK "${file}")
|
||||
get_filename_component(actual_name "${file}" NAME)
|
||||
get_filename_component(file "${file}" REALPATH)
|
||||
set(install_rename RENAME "${actual_name}")
|
||||
endif()
|
||||
|
|
@ -162,7 +163,7 @@ elseif(CPACK_GENERATOR STREQUAL "RPM")
|
|||
include(packaging/rpm/rpm)
|
||||
elseif(CPACK_GENERATOR STREQUAL "NSIS")
|
||||
include(packaging/nsis)
|
||||
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW)$")
|
||||
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN)$")
|
||||
include(packaging/common-libraries)
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@ macro(ov_rpm_cpack_set_dirs)
|
|||
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
|
||||
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
|
||||
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
|
||||
set(OV_CPACK_LICENSESDIR ${OV_CPACK_DOCDIR}/licenses)
|
||||
|
||||
# TODO:
|
||||
# 1. define python installation directories for RPM packages
|
||||
# 2. make sure only a single version of python API can be installed at the same time (define conflicts section)
|
||||
# set(OV_CPACK_PYTHONDIR lib/python3/dist-packages)
|
||||
|
||||
ov_get_pyversion(pyversion)
|
||||
|
|
|
|||
|
|
@ -17,20 +17,44 @@ if(WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|||
endif()
|
||||
|
||||
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
|
||||
set(arch_flag X86_64)
|
||||
set(host_arch_flag X86_64)
|
||||
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
|
||||
set(arch_flag X86)
|
||||
set(host_arch_flag X86)
|
||||
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm64.*|aarch64.*|AARCH64.*|ARM64.*)")
|
||||
set(arch_flag AARCH64)
|
||||
set(host_arch_flag AARCH64)
|
||||
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
|
||||
set(arch_flag ARM)
|
||||
set(host_arch_flag ARM)
|
||||
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^riscv64$")
|
||||
set(arch_flag RISCV64)
|
||||
set(host_arch_flag RISCV64)
|
||||
endif()
|
||||
|
||||
set(HOST_${arch_flag} ON)
|
||||
set(HOST_${host_arch_flag} ON)
|
||||
|
||||
macro(_ie_process_msvc_generator_platform arch_flag)
|
||||
macro(_ov_detect_arch_by_processor_type)
|
||||
if(CMAKE_OSX_ARCHITECTURES AND APPLE)
|
||||
if(CMAKE_OSX_ARCHITECTURES STREQUAL "arm64")
|
||||
set(AARCH64 ON)
|
||||
elseif(CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64")
|
||||
set(X86_64 ON)
|
||||
elseif(CMAKE_OSX_ARCHITECTURES MATCHES ".*x86_64.*" AND CMAKE_OSX_ARCHITECTURES MATCHES ".*arm64.*")
|
||||
set(UNIVERSAL2 ON)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported value: CMAKE_OSX_ARCHITECTURES = ${CMAKE_OSX_ARCHITECTURES}")
|
||||
endif()
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
|
||||
set(X86_64 ON)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*|wasm")
|
||||
set(X86 ON)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64.*|aarch64.*|AARCH64.*|ARM64.*|armv8)")
|
||||
set(AARCH64 ON)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
|
||||
set(ARM ON)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64$")
|
||||
set(RISCV64 ON)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(_ov_process_msvc_generator_platform)
|
||||
# if cmake -A <ARM|ARM64|x64|Win32> is passed
|
||||
if(CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
|
||||
set(AARCH64 ON)
|
||||
|
|
@ -41,45 +65,30 @@ macro(_ie_process_msvc_generator_platform arch_flag)
|
|||
elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "Win32")
|
||||
set(X86 ON)
|
||||
else()
|
||||
set(${arch_flag} ON)
|
||||
_ov_detect_arch_by_processor_type()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# TODO: why OpenCV is found by cmake
|
||||
if(MSVC64 OR MINGW64)
|
||||
_ie_process_msvc_generator_platform(${arch_flag})
|
||||
_ov_process_msvc_generator_platform()
|
||||
elseif(MINGW OR (MSVC AND NOT CMAKE_CROSSCOMPILING))
|
||||
_ie_process_msvc_generator_platform(${arch_flag})
|
||||
elseif(CMAKE_OSX_ARCHITECTURES AND APPLE)
|
||||
if(CMAKE_OSX_ARCHITECTURES STREQUAL "arm64")
|
||||
set(AARCH64 ON)
|
||||
elseif(CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64")
|
||||
set(X86_64 ON)
|
||||
elseif(CMAKE_OSX_ARCHITECTURES MATCHES ".*x86_64.*" AND CMAKE_OSX_ARCHITECTURES MATCHES ".*arm64.*")
|
||||
set(UNIVERSAL2 ON)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported value: CMAKE_OSX_ARCHITECTURES = ${CMAKE_OSX_ARCHITECTURES}")
|
||||
endif()
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
|
||||
set(X86_64 ON)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
|
||||
set(X86 ON)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64.*|aarch64.*|AARCH64.*|ARM64.*)")
|
||||
set(AARCH64 ON)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
|
||||
set(ARM ON)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64$")
|
||||
set(RISCV64 ON)
|
||||
_ov_process_msvc_generator_platform()
|
||||
else()
|
||||
_ov_detect_arch_by_processor_type()
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
|
||||
set(EMSCRIPTEN ON)
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT (APPLE OR ANDROID OR EMSCRIPTEN))
|
||||
if(UNIX AND NOT (APPLE OR ANDROID OR EMSCRIPTEN OR CYGWIN))
|
||||
set(LINUX ON)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CMAKE_HOST_LINUX AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
if(CMAKE_VERSION VERSION_LESS 3.25 AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
# the variable is available since 3.25
|
||||
# https://cmake.org/cmake/help/latest/variable/CMAKE_HOST_LINUX.html
|
||||
set(CMAKE_HOST_LINUX ON)
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ function(ieTargetLinkWholeArchive targetName)
|
|||
"-Wl,-noall_load"
|
||||
)
|
||||
else()
|
||||
# non-Apple Clang and GCC / MinGW
|
||||
list(APPEND libs
|
||||
"-Wl,--whole-archive"
|
||||
${staticLib}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ else()
|
|||
set(ENABLE_INTEL_GPU_DEFAULT OFF)
|
||||
endif()
|
||||
|
||||
ie_dependent_option (ENABLE_INTEL_GPU "GPU OpenCL-based plugin for OpenVINO Runtime" ${ENABLE_INTEL_GPU_DEFAULT} "X86_64 OR AARCH64;NOT APPLE;NOT MINGW;NOT WINDOWS_STORE;NOT WINDOWS_PHONE" OFF)
|
||||
ie_dependent_option (ENABLE_INTEL_GPU "GPU OpenCL-based plugin for OpenVINO Runtime" ${ENABLE_INTEL_GPU_DEFAULT} "X86_64 OR AARCH64;NOT APPLE;NOT WINDOWS_STORE;NOT WINDOWS_PHONE" OFF)
|
||||
|
||||
if (ANDROID OR (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0))
|
||||
# oneDNN doesn't support old compilers and android builds for now, so we'll
|
||||
|
|
@ -34,6 +34,10 @@ endif()
|
|||
|
||||
ie_dependent_option (ENABLE_ONEDNN_FOR_GPU "Enable oneDNN with GPU support" ${ENABLE_ONEDNN_FOR_GPU_DEFAULT} "ENABLE_INTEL_GPU" OFF)
|
||||
|
||||
ie_option (ENABLE_DEBUG_CAPS "enable OpenVINO debug capabilities at runtime" OFF)
|
||||
ie_dependent_option (ENABLE_GPU_DEBUG_CAPS "enable GPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS;ENABLE_INTEL_CPU" OFF)
|
||||
ie_dependent_option (ENABLE_CPU_DEBUG_CAPS "enable CPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS;ENABLE_INTEL_GPU" OFF)
|
||||
|
||||
ie_option (ENABLE_PROFILING_ITT "Build with ITT tracing. Optionally configure pre-built ittnotify library though INTEL_VTUNE_DIR variable." OFF)
|
||||
|
||||
ie_option_enum(ENABLE_PROFILING_FILTER "Enable or disable ITT counter groups.\
|
||||
|
|
@ -81,19 +85,16 @@ ie_dependent_option (ENABLE_TBBBIND_2_5 "Enable TBBBind_2_5 static usage in Open
|
|||
ie_dependent_option (ENABLE_INTEL_GNA "GNA support for OpenVINO Runtime" ON
|
||||
"NOT APPLE;NOT ANDROID;X86_64;CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.4" OFF)
|
||||
|
||||
ie_option (ENABLE_INTEL_GNA_DEBUG "GNA debug build" OFF)
|
||||
|
||||
ie_dependent_option (ENABLE_INTEL_GNA_DEBUG "GNA debug build" OFF "ENABLE_INTEL_GNA" OFF)
|
||||
ie_dependent_option (ENABLE_V7_SERIALIZE "enables serialization to IR v7" OFF "ENABLE_INTEL_GNA" OFF)
|
||||
ie_dependent_option (ENABLE_IR_V7_READER "Enables IR v7 reader" ${BUILD_SHARED_LIBS} "ENABLE_TESTS;ENABLE_INTEL_GNA" OFF)
|
||||
|
||||
ie_option (ENABLE_GAPI_PREPROCESSING "Enables G-API preprocessing" ON)
|
||||
ie_dependent_option (ENABLE_GAPI_PREPROCESSING "Enables G-API preprocessing" ON "NOT MINGW64" OFF)
|
||||
|
||||
ie_option (ENABLE_MULTI "Enables MULTI Device Plugin" ON)
|
||||
ie_option (ENABLE_AUTO "Enables AUTO Device Plugin" ON)
|
||||
|
||||
ie_option (ENABLE_AUTO_BATCH "Enables Auto-Batching Plugin" ON)
|
||||
|
||||
ie_option (ENABLE_HETERO "Enables Hetero Device Plugin" ON)
|
||||
|
||||
ie_option (ENABLE_TEMPLATE "Enable template plugin" ON)
|
||||
|
||||
ie_dependent_option (ENABLE_PLUGINS_XML "Generate plugins.xml configuration file or not" OFF "BUILD_SHARED_LIBS" OFF)
|
||||
|
|
@ -102,20 +103,27 @@ ie_dependent_option (GAPI_TEST_PERF "if GAPI unit tests should examine performan
|
|||
|
||||
ie_dependent_option (ENABLE_DATA "fetch models from testdata repo" ON "ENABLE_FUNCTIONAL_TESTS;NOT ANDROID" OFF)
|
||||
|
||||
ie_dependent_option (ENABLE_BEH_TESTS "tests oriented to check OpenVINO Runtime API correctness" ON "ENABLE_TESTS" OFF)
|
||||
|
||||
ie_dependent_option (ENABLE_FUNCTIONAL_TESTS "functional tests" ON "ENABLE_TESTS" OFF)
|
||||
|
||||
ie_option (ENABLE_SAMPLES "console samples are part of OpenVINO Runtime package" ON)
|
||||
|
||||
ie_option (ENABLE_OPENCV "enables custom OpenCV download" OFF)
|
||||
|
||||
ie_option (ENABLE_V7_SERIALIZE "enables serialization to IR v7" OFF)
|
||||
|
||||
set(OPENVINO_EXTRA_MODULES "" CACHE STRING "Extra paths for extra modules to include into OpenVINO build")
|
||||
|
||||
ie_dependent_option(ENABLE_TBB_RELEASE_ONLY "Only Release TBB libraries are linked to the OpenVINO Runtime binaries" ON "THREADING MATCHES TBB;LINUX" OFF)
|
||||
|
||||
find_host_package(PythonInterp 3 QUIET)
|
||||
ie_option(ENABLE_OV_ONNX_FRONTEND "Enable ONNX FrontEnd" ${PYTHONINTERP_FOUND})
|
||||
ie_option(ENABLE_OV_PADDLE_FRONTEND "Enable PaddlePaddle FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_PYTORCH_FRONTEND "Enable PyTorch FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_TF_FRONTEND "Enable TensorFlow FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_TF_LITE_FRONTEND "Enable TensorFlow Lite FrontEnd" ON)
|
||||
ie_dependent_option(ENABLE_SNAPPY_COMPRESSION "Enables compression support for TF FE" ON
|
||||
"ENABLE_OV_TF_FRONTEND" ON)
|
||||
|
||||
if(CMAKE_HOST_LINUX AND LINUX)
|
||||
# Debian packages are enabled on Ubuntu systems
|
||||
# so, system TBB / pugixml / OpenCL can be tried for usage
|
||||
|
|
@ -131,40 +139,37 @@ else()
|
|||
set(ENABLE_SYSTEM_TBB_DEFAULT ${ENABLE_SYSTEM_LIBS_DEFAULT})
|
||||
endif()
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(ENABLE_SYSTEM_PUGIXML_DEFAULT ${ENABLE_SYSTEM_LIBS_DEFAULT})
|
||||
else()
|
||||
# for static libraries case libpugixml.a must be compiled with -fPIC
|
||||
# but we still need an ability to compile with system PugiXML and BUILD_SHARED_LIBS
|
||||
# for Conan case where everything is compiled statically
|
||||
set(ENABLE_SYSTEM_PUGIXML_DEFAULT OFF)
|
||||
endif()
|
||||
|
||||
# users wants to use his own TBB version, specific either via env vars or cmake options
|
||||
if(DEFINED ENV{TBBROOT} OR DEFINED ENV{TBB_DIR} OR DEFINED TBB_DIR OR DEFINED TBBROOT)
|
||||
set(ENABLE_SYSTEM_TBB_DEFAULT OFF)
|
||||
endif()
|
||||
|
||||
# for static libraries case libpugixml.a must be compiled with -fPIC
|
||||
ie_dependent_option (ENABLE_SYSTEM_PUGIXML "use the system copy of pugixml" ${ENABLE_SYSTEM_LIBS_DEFAULT} "BUILD_SHARED_LIBS" OFF)
|
||||
|
||||
ie_dependent_option (ENABLE_SYSTEM_TBB "use the system version of TBB" ${ENABLE_SYSTEM_TBB_DEFAULT} "THREADING MATCHES TBB" OFF)
|
||||
|
||||
ie_dependent_option (ENABLE_SYSTEM_OPENCL "Use the system version of OpenCL" ${ENABLE_SYSTEM_LIBS_DEFAULT} "BUILD_SHARED_LIBS;ENABLE_INTEL_GPU" OFF)
|
||||
|
||||
ie_option (ENABLE_DEBUG_CAPS "enable OpenVINO debug capabilities at runtime" OFF)
|
||||
|
||||
ie_dependent_option (ENABLE_GPU_DEBUG_CAPS "enable GPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS" OFF)
|
||||
|
||||
ie_dependent_option (ENABLE_CPU_DEBUG_CAPS "enable CPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS" OFF)
|
||||
|
||||
find_host_package(PythonInterp 3 QUIET)
|
||||
ie_option(ENABLE_OV_ONNX_FRONTEND "Enable ONNX FrontEnd" ${PYTHONINTERP_FOUND})
|
||||
ie_option(ENABLE_OV_PADDLE_FRONTEND "Enable PaddlePaddle FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_PYTORCH_FRONTEND "Enable PyTorch FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_TF_FRONTEND "Enable TensorFlow FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_TF_LITE_FRONTEND "Enable TensorFlow Lite FrontEnd" ON)
|
||||
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
|
||||
|
||||
ie_dependent_option(ENABLE_SNAPPY_COMPRESSION "Enables compression support for TF FE" ON
|
||||
"ENABLE_OV_TF_FRONTEND" ON)
|
||||
ie_dependent_option(ENABLE_SYSTEM_PROTOBUF "Enables use of system protobuf" OFF
|
||||
"ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_TF_FRONTEND;BUILD_SHARED_LIBS" OFF)
|
||||
ie_dependent_option (ENABLE_SYSTEM_TBB "Enables use of system TBB" ${ENABLE_SYSTEM_TBB_DEFAULT}
|
||||
"THREADING MATCHES TBB" OFF)
|
||||
# TODO: turn it off by default during the work on cross-os distribution, because pugixml is not
|
||||
# available out of box on all systems (like RHEL, UBI)
|
||||
ie_option (ENABLE_SYSTEM_PUGIXML "Enables use of system PugiXML" ${ENABLE_SYSTEM_PUGIXML_DEFAULT})
|
||||
# the option is on by default, because we use only flatc compiler and don't use any libraries
|
||||
ie_dependent_option(ENABLE_SYSTEM_FLATBUFFERS "Enables use of system flatbuffers" ON
|
||||
"ENABLE_OV_TF_LITE_FRONTEND" OFF)
|
||||
ie_dependent_option(ENABLE_SYSTEM_SNAPPY "Enables use of system version of snappy" OFF "ENABLE_SNAPPY_COMPRESSION;BUILD_SHARED_LIBS" OFF)
|
||||
ie_dependent_option (ENABLE_SYSTEM_OPENCL "Enables use of system OpenCL" ${ENABLE_SYSTEM_LIBS_DEFAULT}
|
||||
"ENABLE_INTEL_GPU" OFF)
|
||||
# the option is turned off by default, because we compile our own static version of protobuf
|
||||
# with LTO and -fPIC options, while system one does not have such flags
|
||||
ie_dependent_option (ENABLE_SYSTEM_PROTOBUF "Enables use of system Protobuf" OFF
|
||||
"ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_TF_FRONTEND" OFF)
|
||||
# the option is turned off by default, because we don't want to have a dependency on libsnappy.so
|
||||
ie_dependent_option (ENABLE_SYSTEM_SNAPPY "Enables use of system version of Snappy" OFF
|
||||
"ENABLE_SNAPPY_COMPRESSION" OFF)
|
||||
|
||||
ie_option(ENABLE_OPENVINO_DEBUG "Enable output for OPENVINO_DEBUG statements" OFF)
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ macro(ov_cpack_settings)
|
|||
set(cpack_components_all ${CPACK_COMPONENTS_ALL})
|
||||
unset(CPACK_COMPONENTS_ALL)
|
||||
foreach(item IN LISTS cpack_components_all)
|
||||
# filter out some components, which are not needed to be wrapped to conda-forge | brew
|
||||
if(# python is not a part of conda | brew
|
||||
# filter out some components, which are not needed to be wrapped to conda-forge | brew | conan
|
||||
if(# python is not a part of conda | brew | conan
|
||||
NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO}_python.*" AND
|
||||
# python wheels are not needed to be wrapped by conda | brew packages
|
||||
NOT item STREQUAL OV_CPACK_COMP_PYTHON_WHEELS AND
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ if(CPACK_GENERATOR STREQUAL "DEB")
|
|||
include(cmake/packaging/debian.cmake)
|
||||
elseif(CPACK_GENERATOR STREQUAL "RPM")
|
||||
include(cmake/packaging/rpm.cmake)
|
||||
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW)$")
|
||||
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN)$")
|
||||
include(cmake/packaging/common-libraries.cmake)
|
||||
elseif(CPACK_GENERATOR STREQUAL "NSIS")
|
||||
include(cmake/packaging/nsis.cmake)
|
||||
|
|
|
|||
|
|
@ -142,6 +142,14 @@ if(ENABLE_SYSTEM_PUGIXML)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
set(_IE_nlohmann_json_FOUND "@nlohmann_json_FOUND@")
|
||||
if(_IE_nlohmann_json_FOUND)
|
||||
find_dependency(nlohmann_json)
|
||||
set_target_properties(nlohmann_json::nlohmann_json PROPERTIES IMPORTED_GLOBAL ON)
|
||||
add_library(IE::nlohmann_json ALIAS nlohmann_json::nlohmann_json)
|
||||
endif()
|
||||
unset(_IE_nlohmann_json_FOUND)
|
||||
|
||||
# inherit OpenCV from main IE project if enabled
|
||||
if ("@OpenCV_FOUND@")
|
||||
load_cache("${cache_path}" READ_WITH_PREFIX "" OpenCV_DIR)
|
||||
|
|
|
|||
|
|
@ -85,9 +85,9 @@
|
|||
#
|
||||
# `OpenVINO_VERSION_MAJOR`
|
||||
# Major version component
|
||||
#
|
||||
#
|
||||
# `OpenVINO_VERSION_MINOR`
|
||||
# minor version component
|
||||
# Minor version component
|
||||
#
|
||||
# `OpenVINO_VERSION_PATCH`
|
||||
# Patch version component
|
||||
|
|
@ -138,7 +138,7 @@ endmacro()
|
|||
|
||||
macro(_ov_find_tbb)
|
||||
set(THREADING "@THREADING@")
|
||||
if((THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") AND NOT TBB_FOUND)
|
||||
if(THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO")
|
||||
set(enable_pkgconfig_tbb "@tbb_FOUND@")
|
||||
|
||||
# try tbb.pc
|
||||
|
|
@ -153,10 +153,10 @@ macro(_ov_find_tbb)
|
|||
endif()
|
||||
|
||||
pkg_search_module(tbb
|
||||
${pkg_config_quiet_arg}
|
||||
${pkg_config_required_arg}
|
||||
IMPORTED_TARGET
|
||||
tbb)
|
||||
${pkg_config_quiet_arg}
|
||||
${pkg_config_required_arg}
|
||||
IMPORTED_TARGET
|
||||
tbb)
|
||||
unset(pkg_config_quiet_arg)
|
||||
unset(pkg_config_required_arg)
|
||||
|
||||
|
|
@ -223,28 +223,185 @@ macro(_ov_find_tbb)
|
|||
PATHS ${_tbb_bind_dir}
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
NO_DEFAULT_PATH)
|
||||
set_target_properties(${TBBBIND_2_5_IMPORTED_TARGETS} PROPERTIES IMPORTED_GLOBAL ON)
|
||||
unset(_tbb_bind_dir)
|
||||
endif()
|
||||
unset(install_tbbbind)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(_ov_find_pugixml)
|
||||
set(_OV_ENABLE_SYSTEM_PUGIXML "@ENABLE_SYSTEM_PUGIXML@")
|
||||
if(_OV_ENABLE_SYSTEM_PUGIXML)
|
||||
set(_ov_pugixml_pkgconfig_interface "@pugixml_FOUND@")
|
||||
set(_ov_pugixml_cmake_interface "@PugiXML_FOUND@")
|
||||
|
||||
if(_ov_pugixml_pkgconfig_interface AND NOT ANDROID)
|
||||
_ov_find_dependency(PkgConfig)
|
||||
elseif(_ov_pugixml_cmake_interface)
|
||||
_ov_find_dependency(PugiXML REQUIRED)
|
||||
endif()
|
||||
|
||||
if(PugiXML_FOUND)
|
||||
if(TARGET pugixml)
|
||||
set(_ov_pugixml_target pugixml)
|
||||
elseif(TARGET pugixml::pugixml)
|
||||
set(_ov_pugixml_target pugixml::pugixml)
|
||||
endif()
|
||||
if(OpenVINODeveloperPackage_DIR)
|
||||
set_property(TARGET ${_ov_pugixml_target} PROPERTY IMPORTED_GLOBAL ON)
|
||||
# align with build tree
|
||||
add_library(openvino::pugixml ALIAS ${_ov_pugixml_target})
|
||||
endif()
|
||||
unset(_ov_pugixml_target)
|
||||
elseif(PkgConfig_FOUND)
|
||||
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
|
||||
set(pkg_config_quiet_arg QUIET)
|
||||
endif()
|
||||
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
|
||||
set(pkg_config_required_arg REQUIRED)
|
||||
endif()
|
||||
|
||||
pkg_search_module(pugixml
|
||||
${pkg_config_quiet_arg}
|
||||
${pkg_config_required_arg}
|
||||
IMPORTED_TARGET
|
||||
GLOBAL
|
||||
pugixml)
|
||||
|
||||
unset(pkg_config_quiet_arg)
|
||||
unset(pkg_config_required_arg)
|
||||
|
||||
if(pugixml_FOUND)
|
||||
if(OpenVINODeveloperPackage_DIR)
|
||||
add_library(openvino::pugixml ALIAS PkgConfig::pugixml)
|
||||
endif()
|
||||
|
||||
# PATCH: on Ubuntu 18.04 pugixml.pc contains incorrect include directories
|
||||
get_target_property(interface_include_dir PkgConfig::pugixml INTERFACE_INCLUDE_DIRECTORIES)
|
||||
if(interface_include_dir AND NOT EXISTS "${interface_include_dir}")
|
||||
set_target_properties(PkgConfig::pugixml PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# debian 9 case: no cmake, no pkg-config files
|
||||
if(NOT TARGET openvino::pugixml)
|
||||
find_library(PUGIXML_LIBRARY NAMES pugixml DOC "Path to pugixml library")
|
||||
if(PUGIXML_LIBRARY)
|
||||
add_library(openvino::pugixml INTERFACE IMPORTED)
|
||||
set_target_properties(openvino::pugixml PROPERTIES INTERFACE_LINK_LIBRARIES "${PUGIXML_LIBRARY}")
|
||||
else()
|
||||
message(FATAL_ERROR "Failed to find system pugixml in OpenVINO Developer Package")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(_ov_find_itt)
|
||||
set(_ENABLE_PROFILING_ITT "@ENABLE_PROFILING_ITT@")
|
||||
# whether 'ittapi' is found via find_package
|
||||
set(_ENABLE_SYSTEM_ITTAPI "@ittapi_FOUND@")
|
||||
if(_ENABLE_PROFILING_ITT AND _ENABLE_SYSTEM_ITTAPI)
|
||||
_ov_find_dependency(ittapi)
|
||||
endif()
|
||||
unset(_ENABLE_PROFILING_ITT)
|
||||
unset(_ENABLE_SYSTEM_ITTAPI)
|
||||
endmacro()
|
||||
|
||||
macro(_ov_find_ade)
|
||||
set(_OV_ENABLE_GAPI_PREPROCESSING "@ENABLE_GAPI_PREPROCESSING@")
|
||||
# whether 'ade' is found via find_package
|
||||
set(_ENABLE_SYSTEM_ADE "@ade_FOUND@")
|
||||
if(_OV_ENABLE_GAPI_PREPROCESSING AND _ENABLE_SYSTEM_ADE)
|
||||
_ov_find_dependency(ade 0.1.2)
|
||||
endif()
|
||||
unset(_OV_ENABLE_GAPI_PREPROCESSING)
|
||||
unset(_ENABLE_SYSTEM_ADE)
|
||||
endmacro()
|
||||
|
||||
macro(_ov_find_intel_cpu_dependencies)
|
||||
set(_OV_ENABLE_CPU_ACL "@DNNL_USE_ACL@")
|
||||
if(_OV_ENABLE_CPU_ACL)
|
||||
if(_ov_as_external_package)
|
||||
set_and_check(ARM_COMPUTE_LIB_DIR "@PACKAGE_ARM_COMPUTE_LIB_DIR@")
|
||||
set(_ov_find_acl_options NO_DEFAULT_PATH)
|
||||
set(_ov_find_acl_path "${CMAKE_CURRENT_LIST_DIR}")
|
||||
else()
|
||||
set_and_check(_ov_find_acl_path "@PACKAGE_FIND_ACL_PATH@")
|
||||
endif()
|
||||
|
||||
_ov_find_dependency(ACL
|
||||
NO_MODULE
|
||||
PATHS "${_ov_find_acl_path}"
|
||||
${_ov_find_acl_options})
|
||||
|
||||
unset(ARM_COMPUTE_LIB_DIR)
|
||||
unset(_ov_find_acl_path)
|
||||
unset(_ov_find_acl_options)
|
||||
endif()
|
||||
unset(_OV_ENABLE_CPU_ACL)
|
||||
endmacro()
|
||||
|
||||
macro(_ov_find_intel_gpu_dependencies)
|
||||
set(_OV_ENABLE_INTEL_GPU "@ENABLE_INTEL_GPU@")
|
||||
set(_OV_ENABLE_SYSTEM_OPENCL "@ENABLE_SYSTEM_OPENCL@")
|
||||
if(_OV_ENABLE_INTEL_GPU AND _OV_ENABLE_SYSTEM_OPENCL)
|
||||
set(_OV_OpenCLICDLoader_FOUND "@OpenCLICDLoader_FOUND@")
|
||||
if(_OV_OpenCLICDLoader_FOUND)
|
||||
_ov_find_dependency(OpenCLICDLoader)
|
||||
else()
|
||||
_ov_find_dependency(OpenCL)
|
||||
endif()
|
||||
unset(_OV_OpenCLICDLoader_FOUND)
|
||||
endif()
|
||||
unset(_OV_ENABLE_INTEL_GPU)
|
||||
unset(_OV_ENABLE_SYSTEM_OPENCL)
|
||||
endmacro()
|
||||
|
||||
macro(_ov_find_intel_gna_dependencies)
|
||||
set(_OV_ENABLE_INTEL_GNA "@ENABLE_INTEL_GNA@")
|
||||
if(_OV_ENABLE_INTEL_GNA AND NOT libGNA_FOUND)
|
||||
if(_OV_ENABLE_INTEL_GNA)
|
||||
set_and_check(GNA_PATH "@PACKAGE_GNA_PATH@")
|
||||
_ov_find_dependency(libGNA
|
||||
COMPONENTS KERNEL
|
||||
CONFIG
|
||||
PATHS "${CMAKE_CURRENT_LIST_DIR}"
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
NO_DEFAULT_PATH)
|
||||
unset(GNA_PATH)
|
||||
endif()
|
||||
unset(_OV_ENABLE_INTEL_GNA)
|
||||
endmacro()
|
||||
|
||||
macro(_ov_find_protobuf_frontend_dependency)
|
||||
set(_OV_ENABLE_SYSTEM_PROTOBUF "@ENABLE_SYSTEM_PROTOBUF@")
|
||||
# TODO: remove check for target existence
|
||||
if(_OV_ENABLE_SYSTEM_PROTOBUF AND NOT TARGET protobuf::libprotobuf)
|
||||
_ov_find_dependency(Protobuf @Protobuf_VERSION@ EXACT)
|
||||
endif()
|
||||
unset(_OV_ENABLE_SYSTEM_PROTOBUF)
|
||||
endmacro()
|
||||
|
||||
macro(_ov_find_tensorflow_frontend_dependencies)
|
||||
set(_OV_ENABLE_SYSTEM_SNAPPY "@ENABLE_SYSTEM_SNAPPY@")
|
||||
set(_ov_snappy_lib "@ov_snappy_lib@")
|
||||
# TODO: remove check for target existence
|
||||
if(_OV_ENABLE_SYSTEM_SNAPPY AND NOT TARGET ${_ov_snappy_lib})
|
||||
_ov_find_dependency(Snappy @Snappy_VERSION@ EXACT)
|
||||
endif()
|
||||
unset(_OV_ENABLE_SYSTEM_SNAPPY)
|
||||
unset(_ov_snappy_lib)
|
||||
set(PACKAGE_PREFIX_DIR ${_ov_package_prefix_dir})
|
||||
endmacro()
|
||||
|
||||
macro(_ov_find_onnx_frontend_dependencies)
|
||||
set(_OV_ENABLE_SYSTEM_ONNX "@ENABLE_SYSTEM_ONNX@")
|
||||
if(_OV_ENABLE_SYSTEM_ONNX)
|
||||
_ov_find_dependency(ONNX @ONNX_VERSION@ EXACT)
|
||||
endif()
|
||||
unset(_OV_ENABLE_SYSTEM_ONNX)
|
||||
endmacro()
|
||||
|
||||
function(_ov_target_no_deprecation_error)
|
||||
if(NOT MSVC)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
|
|
@ -270,8 +427,28 @@ set(_ov_package_prefix_dir "${PACKAGE_PREFIX_DIR}")
|
|||
|
||||
set(_OV_ENABLE_OPENVINO_BUILD_SHARED "@BUILD_SHARED_LIBS@")
|
||||
|
||||
if(NOT TARGET openvino)
|
||||
set(_ov_as_external_package ON)
|
||||
endif()
|
||||
|
||||
if(NOT _OV_ENABLE_OPENVINO_BUILD_SHARED)
|
||||
# common openvino dependencies
|
||||
_ov_find_tbb()
|
||||
|
||||
_ov_find_itt()
|
||||
_ov_find_pugixml()
|
||||
|
||||
# preprocessing dependencies
|
||||
_ov_find_ade()
|
||||
|
||||
# frontend dependencies
|
||||
_ov_find_protobuf_frontend_dependency()
|
||||
_ov_find_tensorflow_frontend_dependencies()
|
||||
_ov_find_onnx_frontend_dependencies()
|
||||
|
||||
# plugin dependencies
|
||||
_ov_find_intel_cpu_dependencies()
|
||||
_ov_find_intel_gpu_dependencies()
|
||||
_ov_find_intel_gna_dependencies()
|
||||
endif()
|
||||
|
||||
|
|
@ -279,13 +456,26 @@ _ov_find_dependency(Threads)
|
|||
|
||||
unset(_OV_ENABLE_OPENVINO_BUILD_SHARED)
|
||||
|
||||
if(NOT TARGET openvino)
|
||||
set(_ov_as_external_package ON)
|
||||
set(_ov_imported_libs openvino::runtime openvino::runtime::c
|
||||
openvino::frontend::onnx openvino::frontend::paddle openvino::frontend::tensorflow
|
||||
openvino::frontend::pytorch openvino::frontend::tensorflow_lite)
|
||||
|
||||
if(_ov_as_external_package)
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/OpenVINOTargets.cmake")
|
||||
|
||||
foreach(target IN LISTS _ov_imported_libs)
|
||||
if(TARGET ${target})
|
||||
get_target_property(imported_configs ${target} IMPORTED_CONFIGURATIONS)
|
||||
if(NOT RELWITHDEBINFO IN_LIST imported_configs)
|
||||
set_property(TARGET ${target} PROPERTY MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE)
|
||||
endif()
|
||||
unset(imported_configs)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# WA for cmake version < 3.16 which does not export
|
||||
# IMPORTED_LINK_DEPENDENT_LIBRARIES_** properties if no PUBLIC dependencies for the library
|
||||
if((THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") AND TBB_FOUND)
|
||||
if(THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO")
|
||||
foreach(type RELEASE DEBUG RELWITHDEBINFO MINSIZEREL)
|
||||
foreach(tbb_target TBB::tbb TBB::tbbmalloc PkgConfig::tbb)
|
||||
if(TARGET ${tbb_target})
|
||||
|
|
@ -326,12 +516,12 @@ endif()
|
|||
# Apply common functions
|
||||
#
|
||||
|
||||
foreach(target openvino::runtime openvino::runtime::c
|
||||
openvino::frontend::onnx openvino::frontend::paddle openvino::frontend::tensorflow)
|
||||
foreach(target IN LISTS _ov_imported_libs)
|
||||
if(TARGET ${target} AND _ov_as_external_package)
|
||||
_ov_target_no_deprecation_error(${target})
|
||||
endif()
|
||||
endforeach()
|
||||
unset(_ov_imported_libs)
|
||||
unset(_ov_as_external_package)
|
||||
|
||||
# restore PACKAGE_PREFIX_DIR
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ find_dependency(OpenVINO
|
|||
NO_DEFAULT_PATH)
|
||||
|
||||
_ov_find_tbb()
|
||||
_ov_find_pugixml()
|
||||
|
||||
foreach(component @openvino_export_components@)
|
||||
# TODO: remove legacy targets from some tests
|
||||
|
|
@ -65,58 +66,6 @@ foreach(component @openvino_export_components@)
|
|||
# endif()
|
||||
endforeach()
|
||||
|
||||
if(ENABLE_SYSTEM_PUGIXML)
|
||||
set(_ov_pugixml_pkgconfig_interface "@pugixml_FOUND@")
|
||||
set(_ov_pugixml_cmake_interface "@PugiXML_FOUND@")
|
||||
if(_ov_pugixml_pkgconfig_interface)
|
||||
find_dependency(PkgConfig)
|
||||
elseif(_ov_pugixml_cmake_interface)
|
||||
find_dependency(PugiXML)
|
||||
endif()
|
||||
if(PugiXML_FOUND)
|
||||
set_property(TARGET pugixml PROPERTY IMPORTED_GLOBAL TRUE)
|
||||
add_library(openvino::pugixml ALIAS pugixml)
|
||||
elseif(PkgConfig_FOUND)
|
||||
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
|
||||
set(pkg_config_quiet_arg QUIET)
|
||||
endif()
|
||||
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
|
||||
set(pkg_config_required_arg REQUIRED)
|
||||
endif()
|
||||
|
||||
pkg_search_module(pugixml
|
||||
${pkg_config_quiet_arg}
|
||||
${pkg_config_required_arg}
|
||||
IMPORTED_TARGET GLOBAL
|
||||
pugixml)
|
||||
|
||||
unset(pkg_config_quiet_arg)
|
||||
unset(pkg_config_required_arg)
|
||||
|
||||
if(pugixml_FOUND)
|
||||
add_library(openvino::pugixml ALIAS PkgConfig::pugixml)
|
||||
|
||||
# PATCH: on Ubuntu 18.04 pugixml.pc contains incorrect include directories
|
||||
get_target_property(interface_include_dir PkgConfig::pugixml INTERFACE_INCLUDE_DIRECTORIES)
|
||||
if(interface_include_dir AND NOT EXISTS "${interface_include_dir}")
|
||||
set_target_properties(PkgConfig::pugixml PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# debian 9 case: no cmake, no pkg-config files
|
||||
if(NOT TARGET openvino::pugixml)
|
||||
find_library(PUGIXML_LIBRARY NAMES pugixml DOC "Path to pugixml library")
|
||||
if(PUGIXML_LIBRARY)
|
||||
add_library(openvino::pugixml INTERFACE IMPORTED GLOBAL)
|
||||
set_target_properties(openvino::pugixml PROPERTIES INTERFACE_LINK_LIBRARIES "${PUGIXML_LIBRARY}")
|
||||
else()
|
||||
message(FATAL_ERROR "Failed to find system pugixml in OpenVINO Developer Package")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# inherit OpenCV from main OpenVINO project if enabled
|
||||
if ("@OpenCV_FOUND@")
|
||||
load_cache("${cache_path}" READ_WITH_PREFIX "" OpenCV_DIR)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,95 @@
|
|||
# Copyright (C) 2018-2023 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Prerequisites:
|
||||
#
|
||||
# Build platform: Ubuntu
|
||||
# apt-get install mingw-w64 mingw-w64-tools g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64
|
||||
#
|
||||
# Build platform: macOS
|
||||
# brew install mingw-w64
|
||||
#
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Windows)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
|
||||
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix)
|
||||
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix)
|
||||
set(PKG_CONFIG_EXECUTABLE x86_64-w64-mingw32-pkg-config CACHE PATH "Path to Windows x86_64 pkg-config")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
|
||||
macro(__cmake_find_root_save_and_reset)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(__save_${v} ${${v}})
|
||||
set(${v} NEVER)
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(__cmake_find_root_restore)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(${v} ${__save_${v}})
|
||||
unset(__save_${v})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
|
||||
# macro to find programs on the host OS
|
||||
macro(find_host_program)
|
||||
__cmake_find_root_save_and_reset()
|
||||
if(CMAKE_HOST_WIN32)
|
||||
SET(WIN32 1)
|
||||
SET(UNIX)
|
||||
SET(APPLE)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
SET(APPLE 1)
|
||||
SET(UNIX)
|
||||
SET(WIN32)
|
||||
elseif(CMAKE_HOST_UNIX)
|
||||
SET(UNIX 1)
|
||||
SET(WIN32)
|
||||
SET(APPLE)
|
||||
endif()
|
||||
find_program(${ARGN})
|
||||
SET(WIN32 1)
|
||||
SET(APPLE)
|
||||
SET(UNIX)
|
||||
__cmake_find_root_restore()
|
||||
endmacro()
|
||||
|
||||
# macro to find packages on the host OS
|
||||
macro(find_host_package)
|
||||
__cmake_find_root_save_and_reset()
|
||||
if(CMAKE_HOST_WIN32)
|
||||
SET(WIN32 1)
|
||||
SET(UNIX)
|
||||
SET(APPLE)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
SET(APPLE 1)
|
||||
SET(WIN32)
|
||||
SET(UNIX)
|
||||
elseif(CMAKE_HOST_UNIX)
|
||||
SET(UNIX 1)
|
||||
SET(WIN32)
|
||||
SET(APPLE)
|
||||
endif()
|
||||
find_package(${ARGN})
|
||||
SET(WIN32 1)
|
||||
SET(APPLE)
|
||||
SET(UNIX)
|
||||
__cmake_find_root_restore()
|
||||
endmacro()
|
||||
|
|
@ -24,7 +24,7 @@ set(CMAKE_LINKER ${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-ld)
|
|||
set(CMAKE_OBJCOPY ${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-objcopy)
|
||||
set(CMAKE_OBJDUMP ${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-objdump)
|
||||
set(CMAKE_READELF ${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-readelf)
|
||||
set(PKG_CONFIG_EXECUTABLE "NOT-FOUND" CACHE PATH "Path to ARM64 pkg-config")
|
||||
set(PKG_CONFIG_EXECUTABLE "NOT-FOUND" CACHE PATH "Path to RISC-V pkg-config")
|
||||
|
||||
# Don't run the linker on compiler check
|
||||
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,75 @@
|
|||
# Copyright (C) 2018-2023 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_PROCESSOR amd64)
|
||||
|
||||
set(CMAKE_C_COMPILER x86_64-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER x86_64-linux-gnu-g++)
|
||||
set(CMAKE_STRIP x86_64-linux-gnu-strip)
|
||||
set(PKG_CONFIG_EXECUTABLE "NOT-FOUND" CACHE PATH "Path to amd64 pkg-config")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
|
||||
macro(__cmake_find_root_save_and_reset)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(__save_${v} ${${v}})
|
||||
set(${v} NEVER)
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(__cmake_find_root_restore)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(${v} ${__save_${v}})
|
||||
unset(__save_${v})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
|
||||
# macro to find programs on the host OS
|
||||
macro(find_host_program)
|
||||
__cmake_find_root_save_and_reset()
|
||||
if(CMAKE_HOST_WIN32)
|
||||
SET(WIN32 1)
|
||||
SET(UNIX)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
SET(APPLE 1)
|
||||
SET(UNIX)
|
||||
endif()
|
||||
find_program(${ARGN})
|
||||
SET(WIN32)
|
||||
SET(APPLE)
|
||||
SET(UNIX 1)
|
||||
__cmake_find_root_restore()
|
||||
endmacro()
|
||||
|
||||
# macro to find packages on the host OS
|
||||
macro(find_host_package)
|
||||
__cmake_find_root_save_and_reset()
|
||||
if(CMAKE_HOST_WIN32)
|
||||
SET(WIN32 1)
|
||||
SET(UNIX)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
SET(APPLE 1)
|
||||
SET(UNIX)
|
||||
endif()
|
||||
find_package(${ARGN})
|
||||
SET(WIN32)
|
||||
SET(APPLE)
|
||||
SET(UNIX 1)
|
||||
__cmake_find_root_restore()
|
||||
endmacro()
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
[requires]
|
||||
ade/0.1.2a
|
||||
onetbb/[>=2021.2.1]
|
||||
pugixml/[>=1.10]
|
||||
protobuf/[>=3.20.3]
|
||||
ittapi/[>=3.23.0]
|
||||
zlib/[>=1.2.8]
|
||||
opencl-icd-loader/[>=2022.09.30]
|
||||
# opencl-clhpp-headers/[>=2022.09.30]
|
||||
opencl-headers/[>=2022.09.30]
|
||||
xbyak/[>=6.62]
|
||||
snappy/[>=1.1.7]
|
||||
gflags/2.2.2
|
||||
onnx/1.13.1
|
||||
nlohmann_json/[>=3.1.1]
|
||||
pybind11/[>=2.10.1]
|
||||
flatbuffers/[>=22.9.24]
|
||||
|
||||
[tool_requires]
|
||||
cmake/[>=3.15]
|
||||
patchelf/[>=0.12]
|
||||
protobuf/[>=3.20.3]
|
||||
flatbuffers/[>=22.9.24]
|
||||
|
||||
[options]
|
||||
protobuf/*:lite=True
|
||||
onetbb/*:tbbmalloc=True
|
||||
onetbb/*:tbbproxy=True
|
||||
flatbuffers/*:header_only=True
|
||||
|
||||
[generators]
|
||||
CMakeDeps
|
||||
CMakeToolchain
|
||||
|
|
@ -43,6 +43,8 @@ parent_output = node->input_value(0);
|
|||
// Getting all consumers for output port
|
||||
auto consumers = output.get_target_inputs();
|
||||
// ! [ngraph:ports_example]
|
||||
(void)el_type;
|
||||
(void)pshape;
|
||||
}
|
||||
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
ov_cpack_add_component(${OV_CPACK_COMP_LICENSING} HIDDEN)
|
||||
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
|
||||
DESTINATION ${OV_CPACK_DOCDIR}/licensing
|
||||
DESTINATION ${OV_CPACK_LICENSESDIR}
|
||||
COMPONENT ${OV_CPACK_COMP_LICENSING}
|
||||
PATTERN CMakeLists.txt EXCLUDE
|
||||
PATTERN dev-third-party-programs.txt EXCLUDE
|
||||
|
|
|
|||
|
|
@ -54,23 +54,18 @@ set (CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER})
|
|||
set (CMAKE_PDB_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER})
|
||||
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER})
|
||||
|
||||
if (WIN32)
|
||||
set_property (DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_SCL_SECURE_NO_WARNINGS")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") # no asynchronous structured exception handling
|
||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Qdiag-disable:177")
|
||||
endif()
|
||||
|
||||
# disable some noisy warnings
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4275 /wd4267 /wd4819")
|
||||
endif()
|
||||
else()
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -diag-disable:177")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4275 /wd4267 /wd4819")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Qdiag-disable:177")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -diag-disable:177")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
|
@ -120,6 +115,9 @@ elseif(gflags_required)
|
|||
elseif(TARGET gflags-shared)
|
||||
# gflags shared case for CentOS / RHEL / Fedora
|
||||
set(GFLAGS_TARGET gflags-shared)
|
||||
elseif(TARGET gflags::gflags)
|
||||
# gflags case for Conan
|
||||
set(GFLAGS_TARGET gflags::gflags)
|
||||
else()
|
||||
message(FATAL_ERROR "Internal error: failed to find imported target 'gflags' using '${gflags_component}' component")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
#include <string.h>
|
||||
#include <windef.h>
|
||||
#include <fileapi.h>
|
||||
#include <Winbase.h>
|
||||
#include <winbase.h>
|
||||
#include <sys/stat.h>
|
||||
// clang-format on
|
||||
|
||||
|
|
@ -131,7 +131,7 @@ public:
|
|||
* @param string directory path
|
||||
* @return pointer to directory data struct element
|
||||
*/
|
||||
static DIR* opendir(const char* dirPath) {
|
||||
inline DIR* opendir(const char* dirPath) {
|
||||
auto dp = new DIR(dirPath);
|
||||
if (!dp->isValid()) {
|
||||
delete dp;
|
||||
|
|
@ -145,7 +145,7 @@ static DIR* opendir(const char* dirPath) {
|
|||
* @param pointer to directory data struct
|
||||
* @return pointer to directory data struct next element
|
||||
*/
|
||||
static struct dirent* readdir(DIR* dp) {
|
||||
inline struct dirent* readdir(DIR* dp) {
|
||||
return dp->nextEnt();
|
||||
}
|
||||
|
||||
|
|
@ -154,7 +154,7 @@ static struct dirent* readdir(DIR* dp) {
|
|||
* @param pointer to struct directory data
|
||||
* @return void
|
||||
*/
|
||||
static void closedir(DIR* dp) {
|
||||
inline void closedir(DIR* dp) {
|
||||
delete dp;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,13 +12,15 @@ if(NOT ANDROID)
|
|||
find_package(PkgConfig QUIET)
|
||||
endif()
|
||||
|
||||
if(NOT TARGET zlib::zlib)
|
||||
find_package(ZLIB QUIET)
|
||||
|
||||
if(NOT TARGET ZLIB::ZLIB)
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_search_module(zlib QUIET
|
||||
IMPORTED_TARGET GLOBAL
|
||||
zlib)
|
||||
if(zlib_FOUND)
|
||||
add_library(zlib::zlib ALIAS PkgConfig::zlib)
|
||||
add_library(ZLIB::ZLIB ALIAS PkgConfig::zlib)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ include(cmake/install_tbb.cmake)
|
|||
|
||||
# CC library should be registered before other cc targets
|
||||
add_subdirectory(common)
|
||||
# TODO: Fix Wall for core, frontends and tests
|
||||
add_subdirectory(core)
|
||||
add_subdirectory(frontends)
|
||||
# TODO: remove ngraph/ngraph.hpp usage
|
||||
|
|
@ -17,7 +16,6 @@ if(ENABLE_TESTS)
|
|||
endif()
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
ie_add_compiler_flags(-Wall)
|
||||
ie_add_compiler_flags(-Wmissing-declarations)
|
||||
endif()
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
# define INFERENCE_ENGINE_C_API(...) INFERENCE_ENGINE_C_API_EXTERN __VA_ARGS__
|
||||
# define IE_NODISCARD
|
||||
#else
|
||||
# if defined(_WIN32)
|
||||
# if defined(_WIN32) || defined(__CYGWIN__)
|
||||
# define INFERENCE_ENGINE_C_API_CALLBACK __cdecl
|
||||
# ifdef openvino_c_EXPORTS
|
||||
# define INFERENCE_ENGINE_C_API(...) INFERENCE_ENGINE_C_API_EXTERN __declspec(dllexport) __VA_ARGS__ __cdecl
|
||||
|
|
|
|||
|
|
@ -38,7 +38,14 @@
|
|||
// so any use of `frobnicate` will produce a compiler warning.
|
||||
//
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if defined(__GNUC__)
|
||||
# define OPENVINO_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
# if __GNUC__ >= 6 || defined(__clang__)
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg) OPENVINO_DEPRECATED(msg)
|
||||
# else
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg)
|
||||
# endif
|
||||
#elif defined(_MSC_VER)
|
||||
# define OPENVINO_DEPRECATED(msg) __declspec(deprecated(msg))
|
||||
# if __cplusplus >= 201402L
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg) [[deprecated(msg)]]
|
||||
|
|
@ -48,43 +55,36 @@
|
|||
#elif defined(__INTEL_COMPILER)
|
||||
# define OPENVINO_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg) OPENVINO_DEPRECATED(msg)
|
||||
#elif defined(__GNUC__)
|
||||
# define OPENVINO_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
# if __GNUC__ < 6 && !defined(__clang__)
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg)
|
||||
# else
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg) OPENVINO_DEPRECATED(msg)
|
||||
# endif
|
||||
#else
|
||||
# define OPENVINO_DEPRECATED(msg)
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg)
|
||||
#endif
|
||||
|
||||
// Suppress warning "-Wdeprecated-declarations" / C4996
|
||||
#if defined(_MSC_VER)
|
||||
# define OPENVINO_DO_PRAGMA(x) __pragma(x)
|
||||
#elif defined(__GNUC__)
|
||||
#if defined(__GNUC__)
|
||||
# define OPENVINO_DO_PRAGMA(x) _Pragma(# x)
|
||||
#elif defined(_MSC_VER)
|
||||
# define OPENVINO_DO_PRAGMA(x) __pragma(x)
|
||||
#else
|
||||
# define OPENVINO_DO_PRAGMA(x)
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#if (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ > 405)) || defined(__clang__)
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(GCC diagnostic push) \
|
||||
OPENVINO_DO_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END OPENVINO_DO_PRAGMA(GCC diagnostic pop)
|
||||
#elif defined(_MSC_VER)
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(warning(push)) \
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 4996))
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END OPENVINO_DO_PRAGMA(warning(pop))
|
||||
#elif defined(__INTEL_COMPILER)
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(warning(push)) \
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 1478))
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 1786))
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(warning(push)) \
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 1478)) \
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 1786))
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END OPENVINO_DO_PRAGMA(warning(pop))
|
||||
#elif defined(__clang__) || ((__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ > 405))
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(GCC diagnostic push) \
|
||||
OPENVINO_DO_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END OPENVINO_DO_PRAGMA(GCC diagnostic pop)
|
||||
#else
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END
|
||||
|
|
|
|||
|
|
@ -14,18 +14,19 @@
|
|||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifndef ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifndef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# ifdef _WIN32
|
||||
# if defined __INTEL_COMPILER || defined _MSC_VER
|
||||
# define ENABLE_UNICODE_PATH_SUPPORT
|
||||
# if defined(__INTEL_COMPILER) || defined(_MSC_VER) || defined(__GNUC__)
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
# elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 2)) || defined(__clang__)
|
||||
# define ENABLE_UNICODE_PATH_SUPPORT
|
||||
# elif defined(__clang__)
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 2))
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_UNICODE_PATH_SUPPORT
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
|
|
@ -40,7 +41,7 @@
|
|||
# define OPENVINO_C_VAR(...) OPENVINO_C_API_EXTERN __VA_ARGS__
|
||||
# define OV_NODISCARD
|
||||
#else
|
||||
# if defined(_WIN32)
|
||||
# if defined(_WIN32) || defined(__CYGWIN__)
|
||||
# define OPENVINO_C_API_CALLBACK __cdecl
|
||||
# ifdef openvino_c_EXPORTS
|
||||
# define OPENVINO_C_API(...) OPENVINO_C_API_EXTERN __declspec(dllexport) __VA_ARGS__ __cdecl
|
||||
|
|
|
|||
|
|
@ -18,18 +18,7 @@
|
|||
#define OV_EXPECT_NOT_OK(...) EXPECT_NE(ov_status_e::OK, __VA_ARGS__)
|
||||
#define OV_EXPECT_ARREQ(arr1, arr2) EXPECT_TRUE(std::equal(std::begin(arr1), std::end(arr1), std::begin(arr2)))
|
||||
|
||||
#ifndef ENABLE_UNICODE_PATH_SUPPORT
|
||||
# ifdef _WIN32
|
||||
# if defined __INTEL_COMPILER || defined _MSC_VER
|
||||
# define ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
# elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 2)) || defined(__clang__)
|
||||
# define ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_UNICODE_PATH_SUPPORT
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# include <wchar.h>
|
||||
#endif
|
||||
|
||||
|
|
@ -88,14 +77,14 @@ inline void fix_slashes(std::wstring& str) {
|
|||
}
|
||||
|
||||
inline bool copy_file(std::string source_path, std::wstring dest_path) {
|
||||
# ifndef _WIN32
|
||||
std::ifstream source(source_path, std::ios::binary);
|
||||
std::ofstream dest(ov::util::wstring_to_string(dest_path), std::ios::binary);
|
||||
# else
|
||||
# ifdef _WIN32
|
||||
fix_slashes(source_path);
|
||||
fix_slashes(dest_path);
|
||||
std::ifstream source(source_path, std::ios::binary);
|
||||
std::ofstream dest(dest_path, std::ios::binary);
|
||||
# else
|
||||
std::ifstream source(source_path, std::ios::binary);
|
||||
std::ofstream dest(ov::util::wstring_to_string(dest_path), std::ios::binary);
|
||||
# endif
|
||||
bool result = source && dest;
|
||||
std::istreambuf_iterator<char> begin_source(source);
|
||||
|
|
|
|||
|
|
@ -73,6 +73,8 @@ macro(_ov_platform_arch)
|
|||
else()
|
||||
set(_arch "aarch64")
|
||||
endif()
|
||||
elseif(UNIVERSAL2)
|
||||
set(_arch "universal2")
|
||||
elseif(ARM)
|
||||
set(_arch "armvl7")
|
||||
elseif(X86_64)
|
||||
|
|
|
|||
|
|
@ -11,34 +11,72 @@ function(_ov_get_tbb_location tbb_target _tbb_lib_location_var)
|
|||
return()
|
||||
endif()
|
||||
|
||||
foreach(property INTERFACE_LINK_LIBRARIES
|
||||
IMPORTED_LOCATION_RELEASE
|
||||
IMPORTED_LOCATION_RELWITHDEBINFO
|
||||
IMPORTED_LOCATION_NONE
|
||||
IMPORTED_LOCATION)
|
||||
get_target_property(_tbb_lib_location ${tbb_target} ${property})
|
||||
if(_tbb_lib_location)
|
||||
if(property STREQUAL INTERFACE_LINK_LIBRARIES)
|
||||
# pkg-config can set multiple libraries as interface, need to filter out
|
||||
foreach(tbb_lib IN LISTS _tbb_lib_location)
|
||||
if(tbb_lib MATCHES "${CMAKE_SHARED_LIBRARY_PREFIX}tbb${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
set(${_tbb_lib_location_var} "${tbb_lib}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
endforeach()
|
||||
else()
|
||||
set(${_tbb_lib_location_var} "${_tbb_lib_location}" PARENT_SCOPE)
|
||||
return()
|
||||
function(_get_target_location target lib_location_var)
|
||||
if(NOT TARGET ${target})
|
||||
message(FATAL_ERROR "Internal error: ${target} does not represent a target")
|
||||
endif()
|
||||
|
||||
get_target_property(_imported_configs ${target} IMPORTED_CONFIGURATIONS)
|
||||
if(NOT _imported_configs)
|
||||
# if IMPORTED_CONFIGURATIONS property is not set, then set a common list
|
||||
set(_imported_configs RELEASE NONE)
|
||||
endif()
|
||||
|
||||
# generate a list of locations
|
||||
foreach(_imported_config IN LISTS _imported_configs)
|
||||
list(APPEND _location_properties IMPORTED_LOCATION_${_imported_config})
|
||||
endforeach()
|
||||
# add some more locations which are used by package managers
|
||||
list(APPEND _location_properties IMPORTED_LOCATION)
|
||||
|
||||
foreach(_location_property IN LISTS _location_properties)
|
||||
get_target_property(_lib_location ${target} ${_location_property})
|
||||
if(_lib_location)
|
||||
set(${lib_location_var} "${_lib_location}" PARENT_SCOPE)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
macro(_handle_tbb_target _tbb_target)
|
||||
_get_target_location(${_tbb_target} "_tbb_lib_location")
|
||||
if(_tbb_lib_location)
|
||||
set(${_tbb_lib_location_var} "${_tbb_lib_location}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# handle INTERFACE_LINK_LIBRARIES
|
||||
get_target_property(_tbb_interface_link_libraries ${tbb_target} INTERFACE_LINK_LIBRARIES)
|
||||
# pkg-config can set multiple libraries as interface, need to filter out
|
||||
foreach(tbb_lib IN LISTS _tbb_interface_link_libraries)
|
||||
# handle cases like in conan: $<$<CONFIG:Release>:CONAN_LIB::onetbb_TBB_tbb_tbb_RELEASE>
|
||||
if(${tbb_lib} MATCHES "CONAN_LIB::([A-Za-z0-9_]*)")
|
||||
set(tbb_lib_parsed "CONAN_LIB::${CMAKE_MATCH_1}")
|
||||
_handle_tbb_target(${tbb_lib_parsed})
|
||||
elseif(tbb_lib MATCHES "${CMAKE_SHARED_LIBRARY_PREFIX}tbb${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
# tbb_lib just a full path to a library itself
|
||||
set(${_tbb_lib_location_var} "${tbb_lib}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# handle case of usual target
|
||||
_handle_tbb_target(${tbb_target})
|
||||
|
||||
message(FATAL_ERROR "Failed to detect TBB library location")
|
||||
endfunction()
|
||||
|
||||
macro(ov_find_package_tbb)
|
||||
if(THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO" AND NOT TBB_FOUND)
|
||||
set(_ov_minimal_tbb_version 2017.0)
|
||||
# conan generates TBBConfig.cmake files, which follows cmake's
|
||||
# SameMajorVersion scheme, while TBB itself follows AnyNewerVersion one
|
||||
# see https://cmake.org/cmake/help/latest/module/CMakePackageConfigHelpers.html#generating-a-package-version-file
|
||||
if(CMAKE_TOOLCHAIN_FILE MATCHES "conan_toolchain.cmake" OR CONAN_EXPORTED)
|
||||
set(_ov_minimal_tbb_version 2021.0)
|
||||
else()
|
||||
set(_ov_minimal_tbb_version 2017.0)
|
||||
endif()
|
||||
|
||||
if(NOT ENABLE_SYSTEM_TBB)
|
||||
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.24)
|
||||
|
|
@ -74,7 +112,10 @@ macro(ov_find_package_tbb)
|
|||
unset(tbb_FOUND CACHE)
|
||||
endmacro()
|
||||
pkg_search_module(tbb QUIET
|
||||
IMPORTED_TARGET GLOBAL
|
||||
IMPORTED_TARGET
|
||||
# we need to set GLOBAL in order to create ALIAS later
|
||||
# ALIAS creation for non-GLOBAL targets is available since cmake 3.18
|
||||
GLOBAL
|
||||
tbb)
|
||||
if(tbb_FOUND)
|
||||
# parse version
|
||||
|
|
@ -99,7 +140,7 @@ macro(ov_find_package_tbb)
|
|||
else()
|
||||
_ov_pkg_config_tbb_unset()
|
||||
|
||||
if(CPACK_GENERATOR STREQUAL "^(DEB|RPM|CONDA-FORGE|BREW)$")
|
||||
if(CPACK_GENERATOR STREQUAL "^(DEB|RPM|CONDA-FORGE|BREW|CONAN)$")
|
||||
# package managers require system TBB
|
||||
set(message_type FATAL_ERROR)
|
||||
else()
|
||||
|
|
@ -148,12 +189,14 @@ macro(ov_find_package_tbb)
|
|||
# let's try it first
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_search_module(HWLOC QUIET
|
||||
IMPORTED_TARGET GLOBAL
|
||||
IMPORTED_TARGET
|
||||
GLOBAL
|
||||
hwloc)
|
||||
endif()
|
||||
|
||||
if(TARGET PkgConfig::HWLOC)
|
||||
# dependency is satisfied
|
||||
add_library(HWLOC::hwloc_2_5 ALIAS PkgConfig::HWLOC)
|
||||
else()
|
||||
# Add HWLOC::hwloc_2_5 target to check via ApiValidator
|
||||
get_target_property(imported_configs TBB::tbbbind_2_5 IMPORTED_CONFIGURATIONS)
|
||||
|
|
@ -168,9 +211,7 @@ macro(ov_find_package_tbb)
|
|||
set(hwloc_dll_name "${CMAKE_SHARED_LIBRARY_PREFIX}hwloc${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
find_file(HWLOC_DLL NAMES ${hwloc_dll_name} PATHS "${TBB_dir}" DOC "Path to hwloc.dll")
|
||||
|
||||
if(NOT HWLOC_DLL)
|
||||
message(WARNING "Failed to find ${hwloc_dll_name} in ${TBB_dir}")
|
||||
else()
|
||||
if(HWLOC_DLL)
|
||||
add_library(HWLOC::hwloc_2_5 SHARED IMPORTED)
|
||||
set_property(TARGET HWLOC::hwloc_2_5 APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
set_target_properties(HWLOC::hwloc_2_5 PROPERTIES IMPORTED_LOCATION_RELEASE "${HWLOC_DLL}")
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ if(THREADING MATCHES "^(TBB|TBB_AUTO)$" AND
|
|||
set(_ov_system_tbb_is_obsolete ON)
|
||||
endif()
|
||||
|
||||
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW)$" AND
|
||||
if(CPACK_GENERATOR MATCHES "^(DEB|RPM|CONDA-FORGE|BREW|CONAN)$" AND
|
||||
NOT ENABLE_SYSTEM_TBB AND
|
||||
NOT _ov_system_tbb_is_obsolete)
|
||||
message(FATAL_ERROR "Debian | RPM | Conda-forge | Brew packages can be built only with system TBB. Use -DENABLE_SYSTEM_TBB=ON")
|
||||
|
|
|
|||
|
|
@ -118,14 +118,8 @@ ov_install_static_lib(${TARGET_NAME}_dev ${OV_CPACK_COMP_CORE})
|
|||
# Install OpenVINO runtime
|
||||
#
|
||||
|
||||
list(APPEND PATH_VARS "IE_INCLUDE_DIR")
|
||||
|
||||
ov_add_library_version(${TARGET_NAME})
|
||||
|
||||
if(ENABLE_INTEL_GNA)
|
||||
list(APPEND PATH_VARS "GNA_PATH")
|
||||
endif()
|
||||
|
||||
ov_cpack_add_component(${OV_CPACK_COMP_CORE}
|
||||
HIDDEN
|
||||
DEPENDS ${core_components})
|
||||
|
|
@ -145,7 +139,9 @@ if(ENABLE_PLUGINS_XML)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
#
|
||||
# Install cmake scripts
|
||||
#
|
||||
|
||||
install(EXPORT OpenVINOTargets
|
||||
FILE OpenVINOTargets.cmake
|
||||
|
|
@ -153,6 +149,17 @@ install(EXPORT OpenVINOTargets
|
|||
DESTINATION ${OV_CPACK_OPENVINO_CMAKEDIR}
|
||||
COMPONENT ${OV_CPACK_COMP_CORE_DEV})
|
||||
|
||||
# build tree
|
||||
|
||||
list(APPEND PATH_VARS "IE_INCLUDE_DIR")
|
||||
if(ENABLE_INTEL_GNA)
|
||||
list(APPEND PATH_VARS "GNA_PATH")
|
||||
endif()
|
||||
if(DNNL_USE_ACL)
|
||||
list(APPEND BUILD_PATH_VARS "FIND_ACL_PATH")
|
||||
set(FIND_ACL_PATH "${intel_cpu_thirdparty_SOURCE_DIR}")
|
||||
endif()
|
||||
|
||||
set(PUBLIC_HEADERS_DIR "${OpenVINO_SOURCE_DIR}/src/inference/include")
|
||||
set(IE_INCLUDE_DIR "${PUBLIC_HEADERS_DIR}/ie")
|
||||
set(IE_TBB_DIR "${TBB_DIR}")
|
||||
|
|
@ -160,12 +167,21 @@ set(IE_TBB_DIR "${TBB_DIR}")
|
|||
configure_package_config_file("${OpenVINO_SOURCE_DIR}/cmake/templates/InferenceEngineConfig.cmake.in"
|
||||
"${CMAKE_BINARY_DIR}/InferenceEngineConfig.cmake"
|
||||
INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}"
|
||||
PATH_VARS ${PATH_VARS})
|
||||
PATH_VARS ${PATH_VARS} ${BUILD_PATH_VARS})
|
||||
|
||||
configure_package_config_file("${OpenVINO_SOURCE_DIR}/cmake/templates/OpenVINOConfig.cmake.in"
|
||||
"${CMAKE_BINARY_DIR}/OpenVINOConfig.cmake"
|
||||
INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}"
|
||||
PATH_VARS ${PATH_VARS})
|
||||
PATH_VARS ${PATH_VARS} ${BUILD_PATH_VARS})
|
||||
|
||||
# install tree
|
||||
|
||||
if(DNNL_USE_ACL)
|
||||
list(APPEND INSTALL_PATH_VARS "ARM_COMPUTE_LIB_DIR")
|
||||
# remove generator expression at the end, because searching in Release / Debug will be
|
||||
# done by ACLConfig.cmake itself
|
||||
string(REPLACE "$<CONFIG>" "" ARM_COMPUTE_LIB_DIR "${OV_CPACK_LIBRARYDIR}")
|
||||
endif()
|
||||
|
||||
set(IE_INCLUDE_DIR "${OV_CPACK_INCLUDEDIR}/ie")
|
||||
set(IE_TBB_DIR "${IE_TBB_DIR_INSTALL}")
|
||||
|
|
@ -178,12 +194,12 @@ endif()
|
|||
configure_package_config_file("${OpenVINO_SOURCE_DIR}/cmake/templates/InferenceEngineConfig.cmake.in"
|
||||
"${CMAKE_BINARY_DIR}/share/InferenceEngineConfig.cmake"
|
||||
INSTALL_DESTINATION ${OV_CPACK_IE_CMAKEDIR}
|
||||
PATH_VARS ${PATH_VARS})
|
||||
PATH_VARS ${PATH_VARS} ${INSTALL_PATH_VARS})
|
||||
|
||||
configure_package_config_file("${OpenVINO_SOURCE_DIR}/cmake/templates/OpenVINOConfig.cmake.in"
|
||||
"${CMAKE_BINARY_DIR}/share/OpenVINOConfig.cmake"
|
||||
INSTALL_DESTINATION ${OV_CPACK_OPENVINO_CMAKEDIR}
|
||||
PATH_VARS ${PATH_VARS})
|
||||
PATH_VARS ${PATH_VARS} ${INSTALL_PATH_VARS})
|
||||
|
||||
configure_file("${OpenVINO_SOURCE_DIR}/cmake/templates/InferenceEngineConfig-version.cmake.in"
|
||||
"${CMAKE_BINARY_DIR}/InferenceEngineConfig-version.cmake" @ONLY)
|
||||
|
|
@ -200,7 +216,9 @@ install(FILES "${CMAKE_BINARY_DIR}/share/OpenVINOConfig.cmake"
|
|||
DESTINATION ${OV_CPACK_OPENVINO_CMAKEDIR}
|
||||
COMPONENT ${OV_CPACK_COMP_CORE_DEV})
|
||||
|
||||
#
|
||||
# Generate and install openvino.pc pkg-config file
|
||||
#
|
||||
|
||||
if(ENABLE_PKGCONFIG_GEN)
|
||||
# fill in PKGCONFIG_OpenVINO_DEFINITIONS
|
||||
|
|
|
|||
|
|
@ -7,13 +7,12 @@ set(TARGET_NAME itt)
|
|||
file(GLOB_RECURSE SOURCES "src/*.cpp" "src/*.hpp")
|
||||
|
||||
add_library(${TARGET_NAME} STATIC ${SOURCES})
|
||||
|
||||
add_library(openvino::itt ALIAS ${TARGET_NAME})
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC openvino::util)
|
||||
|
||||
if(TARGET ittnotify)
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC ittnotify)
|
||||
if(ENABLE_PROFILING_ITT)
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC ittapi::ittnotify)
|
||||
if(ENABLE_PROFILING_FILTER STREQUAL "ALL")
|
||||
target_compile_definitions(${TARGET_NAME} PUBLIC
|
||||
ENABLE_PROFILING_ALL
|
||||
|
|
|
|||
|
|
@ -48,12 +48,12 @@ find_package_handle_standard_args(ITT
|
|||
if(ITT_FOUND)
|
||||
set(INTEL_ITT_FOUND ${ITT_FOUND})
|
||||
|
||||
add_library(ittnotify STATIC IMPORTED GLOBAL)
|
||||
set_target_properties(ittnotify PROPERTIES IMPORTED_LOCATION "${Located_ITT_LIBS}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${Located_ITT_INCLUDE_DIRS}
|
||||
INTERFACE_COMPILE_DEFINITIONS ENABLE_PROFILING_ITT)
|
||||
add_library(ittapi::ittnotify STATIC IMPORTED GLOBAL)
|
||||
set_target_properties(ittapi::ittnotify PROPERTIES IMPORTED_LOCATION "${Located_ITT_LIBS}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${Located_ITT_INCLUDE_DIRS}
|
||||
INTERFACE_COMPILE_DEFINITIONS ENABLE_PROFILING_ITT)
|
||||
|
||||
if(UNIX)
|
||||
set_target_properties(ittnotify PROPERTIES INTERFACE_LINK_LIBRARIES "${CMAKE_DL_LIBS};Threads::Threads")
|
||||
set_target_properties(ittapi::ittnotify PROPERTIES INTERFACE_LINK_LIBRARIES "${CMAKE_DL_LIBS};Threads::Threads")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -12,23 +12,21 @@ file(GLOB LIBRARY_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp)
|
|||
# instructions support depending on an OS and a compiler
|
||||
#
|
||||
macro(ie_avx512_core_optimization_flags flags)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX512)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
set(${flags} /QxCORE-AVX512)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX512)
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
set(${flags} -xCORE-AVX512)
|
||||
endif()
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
set(${flags} -mavx512f -mavx512bw -mavx512dq -mfma)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12)
|
||||
list(APPEND ${flags} -Wno-error=maybe-uninitialized -Wno-maybe-uninitialized)
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} -xCORE-AVX512)
|
||||
else()
|
||||
set(${flags} -mavx512f -mavx512bw -mavx512dq -mfma)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12)
|
||||
list(APPEND ${flags} -Wno-error=maybe-uninitialized -Wno-maybe-uninitialized)
|
||||
endif()
|
||||
endif()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
namespace ov {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,11 @@ struct FileTraits<char> {
|
|||
}
|
||||
static std::string library_prefix() {
|
||||
#ifdef _WIN32
|
||||
# if defined(__MINGW32__) || defined(__MINGW64__)
|
||||
return {"lib"};
|
||||
# else
|
||||
return {""};
|
||||
# endif
|
||||
#else
|
||||
return {"lib"};
|
||||
#endif
|
||||
|
|
@ -62,7 +66,11 @@ struct FileTraits<wchar_t> {
|
|||
}
|
||||
static std::wstring library_prefix() {
|
||||
#ifdef _WIN32
|
||||
# if defined(__MINGW32__) || defined(__MINGW64__)
|
||||
return {L"lib"};
|
||||
# else
|
||||
return {L""};
|
||||
# endif
|
||||
#else
|
||||
return {L"lib"};
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,19 +6,21 @@
|
|||
|
||||
#ifndef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# ifdef _WIN32
|
||||
# if defined __INTEL_COMPILER || defined _MSC_VER
|
||||
# if defined(__INTEL_COMPILER) || defined(_MSC_VER) || defined(__GNUC__)
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
# elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 2)) || defined(__clang__)
|
||||
# elif defined(__clang__)
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 2))
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// Disabled MSVC warning
|
||||
#if defined(_MSC_VER)
|
||||
# define DISABLE_WARNING_MSVC_BEGIN(id) __pragma(warning(push)) __pragma(warning(disable : id))
|
||||
# define DISABLE_WARNING_MSVC_END(id) __pragma(warning(pop))
|
||||
# define OPENVINO_DISABLE_WARNING_MSVC_BEGIN(id) __pragma(warning(push)) __pragma(warning(disable : id))
|
||||
# define OPENVINO_DISABLE_WARNING_MSVC_END(id) __pragma(warning(pop))
|
||||
#else
|
||||
# define DISABLE_WARNING_MSVC_BEGIN(id)
|
||||
# define DISABLE_WARNING_MSVC_END(id)
|
||||
# define OPENVINO_DISABLE_WARNING_MSVC_BEGIN(id)
|
||||
# define OPENVINO_DISABLE_WARNING_MSVC_END(id)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -10,5 +10,7 @@
|
|||
#define NGRAPH_EXTERN_C OPENVINO_EXTERN_C
|
||||
|
||||
#ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# define ENABLE_UNICODE_PATH_SUPPORT
|
||||
# ifndef ENABLE_UNICODE_PATH_SUPPORT
|
||||
# define ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
*/
|
||||
namespace ov {} // namespace ov
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(disable : 4251)
|
||||
# pragma warning(disable : 4275)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -14,7 +14,14 @@
|
|||
// so any use of `frobnicate` will produce a compiler warning.
|
||||
//
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if defined(__GNUC__)
|
||||
# define OPENVINO_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
# if __GNUC__ >= 6 || defined(__clang__)
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg) OPENVINO_DEPRECATED(msg)
|
||||
# else
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg)
|
||||
# endif
|
||||
#elif defined(_MSC_VER)
|
||||
# define OPENVINO_DEPRECATED(msg) __declspec(deprecated(msg))
|
||||
# if __cplusplus >= 201402L
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg) [[deprecated(msg)]]
|
||||
|
|
@ -24,43 +31,36 @@
|
|||
#elif defined(__INTEL_COMPILER)
|
||||
# define OPENVINO_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg) OPENVINO_DEPRECATED(msg)
|
||||
#elif defined(__GNUC__)
|
||||
# define OPENVINO_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
# if __GNUC__ < 6 && !defined(__clang__)
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg)
|
||||
# else
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg) OPENVINO_DEPRECATED(msg)
|
||||
# endif
|
||||
#else
|
||||
# define OPENVINO_DEPRECATED(msg)
|
||||
# define OPENVINO_ENUM_DEPRECATED(msg)
|
||||
#endif
|
||||
|
||||
// Suppress warning "-Wdeprecated-declarations" / C4996
|
||||
#if defined(_MSC_VER)
|
||||
# define OPENVINO_DO_PRAGMA(x) __pragma(x)
|
||||
#elif defined(__GNUC__)
|
||||
#if defined(__GNUC__)
|
||||
# define OPENVINO_DO_PRAGMA(x) _Pragma(# x)
|
||||
#elif defined(_MSC_VER)
|
||||
# define OPENVINO_DO_PRAGMA(x) __pragma(x)
|
||||
#else
|
||||
# define OPENVINO_DO_PRAGMA(x)
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#if defined(__clang__) || ((__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ > 405))
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(GCC diagnostic push) \
|
||||
OPENVINO_DO_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END OPENVINO_DO_PRAGMA(GCC diagnostic pop)
|
||||
#elif defined(_MSC_VER)
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(warning(push)) \
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 4996))
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END OPENVINO_DO_PRAGMA(warning(pop))
|
||||
#elif defined(__INTEL_COMPILER)
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(warning(push)) \
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 1478))
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 1786))
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(warning(push)) \
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 1478)) \
|
||||
OPENVINO_DO_PRAGMA(warning(disable : 1786))
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END OPENVINO_DO_PRAGMA(warning(pop))
|
||||
#elif defined(__clang__) || ((__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ > 405))
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START \
|
||||
OPENVINO_DO_PRAGMA(GCC diagnostic push) \
|
||||
OPENVINO_DO_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END OPENVINO_DO_PRAGMA(GCC diagnostic pop)
|
||||
#else
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_START
|
||||
# define OPENVINO_SUPPRESS_DEPRECATED_END
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@ struct CheckLocInfo {
|
|||
class OPENVINO_API Exception : public std::runtime_error {
|
||||
public:
|
||||
OPENVINO_DEPRECATED("This constructor is deprecated and will be removed, please use OPENVINO_THROW instead")
|
||||
explicit Exception(const std::string& what_arg) : std::runtime_error(what_arg) {}
|
||||
explicit Exception(const std::string& what_arg);
|
||||
OPENVINO_DEPRECATED("This constructor is deprecated and will be removed, please use OPENVINO_THROW instead")
|
||||
explicit Exception(const std::stringstream& what_arg) : std::runtime_error(what_arg.str()) {}
|
||||
explicit Exception(const std::stringstream& what_arg);
|
||||
[[noreturn]] static void create(const CheckLocInfo& check_loc_info,
|
||||
const std::string& context_info,
|
||||
const std::string& explanation);
|
||||
|
|
|
|||
|
|
@ -11,14 +11,8 @@
|
|||
#include "openvino/core/core_visibility.hpp"
|
||||
#include "openvino/core/type.hpp"
|
||||
|
||||
// Use extern "C" in order to avoid issues with mangling
|
||||
#if defined(_WIN32) && defined(IMPLEMENT_OPENVINO_EXTENSION_API)
|
||||
# define OPENVINO_EXTENSION_C_API OPENVINO_EXTERN_C OPENVINO_CORE_EXPORTS
|
||||
# define OPENVINO_EXTENSION_API OPENVINO_CORE_EXPORTS
|
||||
#else
|
||||
# define OPENVINO_EXTENSION_C_API OPENVINO_EXTERN_C OPENVINO_CORE_EXPORTS
|
||||
# define OPENVINO_EXTENSION_API OPENVINO_CORE_EXPORTS
|
||||
#endif
|
||||
#define OPENVINO_EXTENSION_C_API OPENVINO_EXTERN_C OPENVINO_CORE_EXPORTS
|
||||
#define OPENVINO_EXTENSION_API OPENVINO_CORE_EXPORTS
|
||||
|
||||
namespace ov {
|
||||
|
||||
|
|
|
|||
|
|
@ -23,19 +23,21 @@
|
|||
|
||||
#ifndef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# ifdef _WIN32
|
||||
# if defined __INTEL_COMPILER || defined _MSC_VER
|
||||
# if defined(__INTEL_COMPILER) || defined(_MSC_VER) || defined(__GNUC__)
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
# elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 2)) || defined(__clang__)
|
||||
# elif defined(__clang__)
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 2))
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
# define OPENVINO_CORE_IMPORTS __declspec(dllimport)
|
||||
# define OPENVINO_CORE_EXPORTS __declspec(dllexport)
|
||||
# define _OPENVINO_HIDDEN_METHOD
|
||||
#elif defined(__GNUC__) && __GNUC__ >= 4
|
||||
#elif defined(__GNUC__) && (__GNUC__ >= 4) || defined(__clang__)
|
||||
# define OPENVINO_CORE_IMPORTS __attribute__((visibility("default")))
|
||||
# define OPENVINO_CORE_EXPORTS __attribute__((visibility("default")))
|
||||
# define _OPENVINO_HIDDEN_METHOD __attribute__((visibility("hidden")))
|
||||
|
|
|
|||
|
|
@ -520,12 +520,12 @@ private:
|
|||
std::numeric_limits<StorageDataType>::lowest() <= value);
|
||||
OPENVINO_ASSERT(std::numeric_limits<StorageDataType>::max() >= value);
|
||||
}
|
||||
#if defined(_MSC_VER)
|
||||
# pragma warning(pop)
|
||||
#elif defined(__clang__)
|
||||
#if defined(__clang__)
|
||||
# pragma clang diagnostic pop
|
||||
#elif defined(__GNUC__)
|
||||
# pragma GCC diagnostic pop
|
||||
#elif defined(_MSC_VER)
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
const auto size = shape_size(m_shape);
|
||||
|
|
|
|||
|
|
@ -11,9 +11,8 @@
|
|||
#include "openvino/core/except.hpp"
|
||||
#include "openvino/core/node.hpp"
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(push)
|
||||
|
||||
# pragma warning(disable : 4100)
|
||||
#endif
|
||||
|
||||
|
|
@ -83,6 +82,6 @@ ActivationFunction get_activation_func_by_name(const std::string& func_name);
|
|||
|
||||
} // namespace ov
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -32,7 +32,8 @@ target_include_directories(${TARGET_NAME} PUBLIC
|
|||
$<BUILD_INTERFACE:${REF_IMPL_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${OV_CORE_INCLUDE_PATH}>)
|
||||
|
||||
link_system_libraries(${TARGET_NAME} PRIVATE xbyak)
|
||||
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE
|
||||
$<BUILD_INTERFACE:$<$<TARGET_EXISTS:xbyak::xbyak>:$<TARGET_PROPERTY:xbyak::xbyak,INTERFACE_INCLUDE_DIRECTORIES>>>)
|
||||
|
||||
add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME})
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ struct ConvolutionParams {
|
|||
};
|
||||
|
||||
template <typename Int>
|
||||
constexpr inline bool in_range(Int val, std::pair<Int, Int> range) noexcept {
|
||||
constexpr inline bool in_range(Int val, const std::pair<Int, Int>& range) noexcept {
|
||||
return val >= range.first && val < range.second;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,14 +2,18 @@
|
|||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
#include "jit_generator.hpp"
|
||||
|
||||
#include <xbyak/xbyak_util.h>
|
||||
|
||||
#include "ngraph/type/float16.hpp"
|
||||
#include "openvino/core/visibility.hpp"
|
||||
|
||||
#if defined(OPENVINO_ARCH_X86) || defined(OPENVINO_ARCH_X86_64)
|
||||
|
||||
# if defined _WIN32 && !defined NOMINMAX
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <xbyak/xbyak_util.h>
|
||||
|
||||
# include "jit_generator.hpp"
|
||||
# include "ngraph/type/float16.hpp"
|
||||
|
||||
namespace ngraph {
|
||||
namespace runtime {
|
||||
namespace jit {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,10 @@
|
|||
|
||||
#include "openvino/core/except.hpp"
|
||||
|
||||
ov::Exception::Exception(const std::string& what_arg) : std::runtime_error(what_arg) {}
|
||||
|
||||
ov::Exception::Exception(const std::stringstream& what_arg) : std::runtime_error(what_arg.str()) {}
|
||||
|
||||
void ov::Exception::create(const CheckLocInfo& check_loc_info,
|
||||
const std::string& context_info,
|
||||
const std::string& explanation) {
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ bool ov::pass::Manager::run_passes(shared_ptr<ov::Model> func) {
|
|||
continue;
|
||||
}
|
||||
|
||||
OV_ITT_SCOPE(FIRST_INFERENCE, ov::itt::domains::ov_pass, pass::perf_counters()[pass->get_type_info()]);
|
||||
OV_ITT_SCOPE(FIRST_INFERENCE, ov::itt::domains::ov_pass, ov::pass::perf_counters()[pass->get_type_info()]);
|
||||
|
||||
pass_timer.start();
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
#ifdef _WIN32
|
||||
#else
|
||||
#ifndef _WIN32
|
||||
# include <cxxabi.h>
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -6,5 +6,6 @@ set(TARGET_NAME ov_protobuf_shutdown)
|
|||
|
||||
add_library(${TARGET_NAME} STATIC shutdown_protobuf.cpp)
|
||||
|
||||
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE $<BUILD_INTERFACE:${Protobuf_INCLUDE_DIRS}>)
|
||||
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE
|
||||
$<BUILD_INTERFACE:$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>>)
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
# ifndef NOMINMAX
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <Windows.h>
|
||||
# include <direct.h>
|
||||
# include <windows.h>
|
||||
#else // _WIN32
|
||||
# include <dirent.h>
|
||||
# include <dlfcn.h>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
# ifndef NOMINMAX
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <Windows.h>
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ bool FrontEnd::supported_impl(const std::vector<ov::Any>& variants) const {
|
|||
#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32)
|
||||
} else if (model_variant.is<std::wstring>()) {
|
||||
const auto& path = model_variant.as<std::wstring>();
|
||||
local_model_stream.open(path, std::ios::in | std::ifstream::binary);
|
||||
local_model_stream.open(path.c_str(), std::ios::in | std::ifstream::binary);
|
||||
#endif
|
||||
} else if (model_variant.is<std::istream*>()) {
|
||||
provided_model_stream = model_variant.as<std::istream*>();
|
||||
|
|
@ -153,11 +153,11 @@ InputModel::Ptr FrontEnd::load_impl(const std::vector<ov::Any>& variants) const
|
|||
#else
|
||||
model_path = tmp_path;
|
||||
#endif
|
||||
local_model_stream.open(model_path, std::ios::in | std::ifstream::binary);
|
||||
local_model_stream.open(model_path.c_str(), std::ios::in | std::ifstream::binary);
|
||||
#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32)
|
||||
} else if (model_variant.is<std::wstring>()) {
|
||||
model_path = model_variant.as<std::wstring>();
|
||||
local_model_stream.open(model_path, std::ios::in | std::ifstream::binary);
|
||||
local_model_stream.open(model_path.c_str(), std::ios::in | std::ifstream::binary);
|
||||
#endif
|
||||
} else if (model_variant.is<std::istream*>()) {
|
||||
provided_model_stream = model_variant.as<std::istream*>();
|
||||
|
|
@ -205,7 +205,7 @@ InputModel::Ptr FrontEnd::load_impl(const std::vector<ov::Any>& variants) const
|
|||
weights = ov::load_mmap_object(weights_path);
|
||||
else {
|
||||
std::ifstream bin_stream;
|
||||
bin_stream.open(weights_path, std::ios::binary);
|
||||
bin_stream.open(weights_path.c_str(), std::ios::binary);
|
||||
if (!bin_stream.is_open())
|
||||
#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32)
|
||||
IE_THROW() << "Weights file " + ov::util::wstring_to_string(weights_path) + " cannot be opened!";
|
||||
|
|
|
|||
|
|
@ -7,6 +7,9 @@
|
|||
#include "openvino/util/file_util.hpp"
|
||||
|
||||
// clang-format-off
|
||||
#ifndef NOMINMAX
|
||||
# define NOMINMAX
|
||||
#endif
|
||||
#include <windows.h>
|
||||
// clang-format-on
|
||||
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ bool FrontEnd::supported_impl(const std::vector<ov::Any>& variants) const {
|
|||
#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32)
|
||||
else if (variants[0].is<std::wstring>()) {
|
||||
const auto path = variants[0].as<std::wstring>();
|
||||
model_stream.open(path, std::ios::in | std::ifstream::binary);
|
||||
model_stream.open(path.c_str(), std::ios::in | std::ifstream::binary);
|
||||
}
|
||||
#endif
|
||||
if (model_stream.is_open()) {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ std::string TensorExternalData::load_external_data(const std::string& model_dir)
|
|||
auto full_path = file_util::path_join(model_dir, m_data_location);
|
||||
#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32)
|
||||
file_util::convert_path_win_style(full_path);
|
||||
std::ifstream external_data_stream(ov::util::string_to_wstring(full_path),
|
||||
std::ifstream external_data_stream(ov::util::string_to_wstring(full_path).c_str(),
|
||||
std::ios::binary | std::ios::in | std::ios::ate);
|
||||
#else
|
||||
std::ifstream external_data_stream(full_path, std::ios::binary | std::ios::in | std::ios::ate);
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@ target_include_directories(${TARGET_NAME} PUBLIC $<BUILD_INTERFACE:${ONNX_COMMON
|
|||
target_link_libraries(${TARGET_NAME} PRIVATE openvino::runtime)
|
||||
|
||||
if(ONNX_USE_LITE_PROTO)
|
||||
link_system_libraries(${TARGET_NAME} PUBLIC onnx_proto onnx ${Protobuf_LITE_LIBRARIES})
|
||||
link_system_libraries(${TARGET_NAME} PUBLIC onnx_proto onnx protobuf::libprotobuf-lite)
|
||||
else()
|
||||
link_system_libraries(${TARGET_NAME} PUBLIC onnx_proto onnx ${Protobuf_LIBRARIES})
|
||||
link_system_libraries(${TARGET_NAME} PUBLIC onnx_proto onnx protobuf::libprotobuf)
|
||||
endif()
|
||||
|
||||
target_include_directories(${TARGET_NAME} PRIVATE ${ONNX_COMMON_SRC_DIR})
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
#include <exception>
|
||||
#include <map>
|
||||
#include <unordered_set>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
namespace ngraph {
|
||||
namespace onnx_common {
|
||||
ONNX_NAMESPACE::ModelProto parse_from_file(const std::string& file_path) {
|
||||
std::ifstream file_stream{file_path, std::ios::in | std::ios::binary};
|
||||
std::ifstream file_stream{file_path.c_str(), std::ios::in | std::ios::binary};
|
||||
|
||||
if (!file_stream.is_open()) {
|
||||
OPENVINO_THROW("Could not open the file: " + file_path);
|
||||
|
|
@ -28,7 +28,7 @@ ONNX_NAMESPACE::ModelProto parse_from_file(const std::string& file_path) {
|
|||
|
||||
#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32)
|
||||
ONNX_NAMESPACE::ModelProto parse_from_file(const std::wstring& file_path) {
|
||||
std::ifstream file_stream{file_path, std::ios::in | std::ios::binary};
|
||||
std::ifstream file_stream{file_path.c_str(), std::ios::in | std::ios::binary};
|
||||
|
||||
if (!file_stream.is_open()) {
|
||||
NGRAPH_SUPPRESS_DEPRECATED_START
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ target_include_directories(ov_onnx_frontend_tests
|
|||
SYSTEM PRIVATE
|
||||
$<TARGET_PROPERTY:onnx,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:onnx_proto,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
${Protobuf_INCLUDE_DIRS})
|
||||
$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
target_compile_definitions(ov_onnx_frontend_tests PRIVATE $<TARGET_PROPERTY:onnx,INTERFACE_COMPILE_DEFINITIONS>)
|
||||
target_compile_definitions(ov_onnx_frontend_tests PRIVATE ENABLE_OV_ONNX_FRONTEND)
|
||||
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ std::istream* variant_to_stream_ptr(const ov::Any& variant, std::ifstream& ext_s
|
|||
#if defined(OPENVINO_ENABLE_UNICODE_PATH_SUPPORT) && defined(_WIN32)
|
||||
else if (variant.is<std::wstring>()) {
|
||||
const auto& model_path = variant.as<std::wstring>();
|
||||
ext_stream.open(model_path, std::ios::in | std::ifstream::binary);
|
||||
ext_stream.open(model_path.c_str(), std::ios::in | std::ifstream::binary);
|
||||
}
|
||||
#endif
|
||||
FRONT_END_INITIALIZATION_CHECK(ext_stream && ext_stream.is_open(), "Cannot open model file.");
|
||||
|
|
@ -375,7 +375,7 @@ bool FrontEnd::supported_impl(const std::vector<ov::Any>& variants) const {
|
|||
if (!ov::util::ends_with(model_path, suffix)) {
|
||||
model_path += paddle::get_path_sep<wchar_t>() + L"__model__";
|
||||
}
|
||||
std::ifstream model_str(model_path, std::ios::in | std::ifstream::binary);
|
||||
std::ifstream model_str(model_path.c_str(), std::ios::in | std::ifstream::binary);
|
||||
// It is possible to validate here that protobuf can read model from the stream,
|
||||
// but it will complicate the check, while it should be as quick as possible
|
||||
return model_str && model_str.is_open();
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ std::basic_string<wchar_t> get_model_path(const std::basic_string<wchar_t>& path
|
|||
std::wstring params_ext = L".pdiparams";
|
||||
std::wstring weights_file{path};
|
||||
weights_file.replace(weights_file.size() - ext.size(), ext.size(), params_ext);
|
||||
weights_stream->open(weights_file, std::ios::binary);
|
||||
weights_stream->open(weights_file.c_str(), std::ios::binary);
|
||||
// Don't throw error if file isn't opened
|
||||
// It may mean that model don't have constants
|
||||
} else {
|
||||
|
|
@ -306,7 +306,7 @@ void InputModel::InputModelImpl::loadConsts(const std::basic_string<T>& folder_w
|
|||
if (weight_stream) {
|
||||
read_succeed = read_tensor(*weight_stream, reinterpret_cast<char*>(&tensor_data[0]), data_length);
|
||||
} else if (!folder_with_weights.empty()) {
|
||||
std::ifstream is(get_const_path(folder_with_weights, name), std::ios::in | std::ifstream::binary);
|
||||
std::ifstream is(get_const_path(folder_with_weights, name).c_str(), std::ios::in | std::ifstream::binary);
|
||||
FRONT_END_GENERAL_CHECK(is && is.is_open(), "Cannot open file for constant value.");
|
||||
read_succeed = read_tensor(is, reinterpret_cast<char*>(&tensor_data[0]), data_length);
|
||||
} else {
|
||||
|
|
@ -332,7 +332,7 @@ InputModel::InputModelImpl::InputModelImpl(const std::basic_string<T>& path,
|
|||
m_telemetry(telemetry) {
|
||||
std::string empty_str;
|
||||
std::ifstream weights_stream;
|
||||
std::ifstream pb_stream(get_model_path<T>(path, &weights_stream), std::ios::in | std::ifstream::binary);
|
||||
std::ifstream pb_stream(get_model_path<T>(path, &weights_stream).c_str(), std::ios::in | std::ifstream::binary);
|
||||
|
||||
FRONT_END_GENERAL_CHECK(pb_stream && pb_stream.is_open(), "Model file doesn't exist");
|
||||
FRONT_END_GENERAL_CHECK(m_fw_ptr->ParseFromIstream(&pb_stream), "Model can't be parsed");
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@ ov_add_frontend(NAME tensorflow
|
|||
LINK_LIBRARIES openvino::core::dev openvino::frontend::tensorflow_common)
|
||||
|
||||
if(ENABLE_SNAPPY_COMPRESSION)
|
||||
target_link_libraries(openvino_tensorflow_frontend PRIVATE Snappy::snappy)
|
||||
target_link_libraries(openvino_tensorflow_frontend PRIVATE openvino::snappy)
|
||||
target_compile_definitions(openvino_tensorflow_frontend PRIVATE ENABLE_SNAPPY_COMPRESSION)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public:
|
|||
template <typename T>
|
||||
static bool is_supported(const std::basic_string<T>& path) {
|
||||
try {
|
||||
std::ifstream mg_stream(path, std::ios::in | std::ifstream::binary);
|
||||
std::ifstream mg_stream(path.c_str(), std::ios::in | std::ifstream::binary);
|
||||
auto metagraph_def = std::make_shared<::tensorflow::MetaGraphDef>();
|
||||
return mg_stream && mg_stream.is_open() && metagraph_def->ParsePartialFromIstream(&mg_stream) &&
|
||||
metagraph_def->has_graph_def() && metagraph_def->graph_def().node_size() > 0;
|
||||
|
|
@ -70,13 +70,13 @@ private:
|
|||
bool read_meta(const std::basic_string<T>& path) {
|
||||
std::basic_string<T> model_path = path.substr(0, path.find_last_of('.'));
|
||||
|
||||
std::ifstream mg_stream{path, std::ifstream::in | std::ifstream::binary};
|
||||
std::ifstream mg_stream{path.c_str(), std::ifstream::in | std::ifstream::binary};
|
||||
FRONT_END_GENERAL_CHECK(mg_stream && mg_stream.is_open(), "Model file does not exist");
|
||||
|
||||
std::basic_string<T> varIndexPath = get_variables_index_name<T>(model_path);
|
||||
if (ov::util::file_exists(varIndexPath)) {
|
||||
m_variables_index = std::make_shared<VariablesIndex>();
|
||||
std::ifstream vi_stream{varIndexPath, std::ifstream::in | std::ifstream::binary};
|
||||
std::ifstream vi_stream{varIndexPath.c_str(), std::ifstream::in | std::ifstream::binary};
|
||||
FRONT_END_GENERAL_CHECK(vi_stream && vi_stream.is_open(), "MetaGraph's variable index file does not exist");
|
||||
FRONT_END_GENERAL_CHECK(m_variables_index->read_variables(vi_stream, model_path, false),
|
||||
"MetaGraph's variable index file cannot be parsed");
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public:
|
|||
GraphIteratorProto(const std::basic_string<T>& path)
|
||||
: m_graph_def(std::make_shared<::tensorflow::GraphDef>()),
|
||||
m_func_def(nullptr) {
|
||||
std::ifstream pb_stream(path, std::ios::in | std::ifstream::binary);
|
||||
std::ifstream pb_stream(path.c_str(), std::ios::in | std::ifstream::binary);
|
||||
|
||||
FRONT_END_GENERAL_CHECK(pb_stream && pb_stream.is_open(), "Model file does not exist");
|
||||
FRONT_END_GENERAL_CHECK(m_graph_def->ParseFromIstream(&pb_stream), "Model cannot be parsed");
|
||||
|
|
@ -107,7 +107,7 @@ public:
|
|||
template <typename T>
|
||||
static bool is_supported(const std::basic_string<T>& path) {
|
||||
try {
|
||||
std::ifstream pb_stream(path, std::ios::in | std::ifstream::binary);
|
||||
std::ifstream pb_stream(path.c_str(), std::ios::in | std::ifstream::binary);
|
||||
auto graph_def = std::make_shared<::tensorflow::GraphDef>();
|
||||
return pb_stream && pb_stream.is_open() && graph_def->ParsePartialFromIstream(&pb_stream) &&
|
||||
graph_def->node_size() > 0;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class GraphIteratorProtoTxt : public GraphIteratorProto {
|
|||
public:
|
||||
template <typename T>
|
||||
GraphIteratorProtoTxt(const std::basic_string<T>& path) : GraphIteratorProto() {
|
||||
std::ifstream pbtxt_stream(path, std::ios::in);
|
||||
std::ifstream pbtxt_stream(path.c_str(), std::ios::in);
|
||||
FRONT_END_GENERAL_CHECK(pbtxt_stream && pbtxt_stream.is_open(), "Model file does not exist");
|
||||
auto input_stream = std::make_shared<::google::protobuf::io::IstreamInputStream>(&pbtxt_stream);
|
||||
FRONT_END_GENERAL_CHECK(input_stream, "Model cannot be read");
|
||||
|
|
@ -35,7 +35,7 @@ public:
|
|||
template <typename T>
|
||||
static bool is_supported(const std::basic_string<T>& path) {
|
||||
try {
|
||||
std::ifstream pbtxt_stream(path, std::ios::in);
|
||||
std::ifstream pbtxt_stream(path.c_str(), std::ios::in);
|
||||
bool model_exists = (pbtxt_stream && pbtxt_stream.is_open());
|
||||
if (!model_exists) {
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -68,13 +68,14 @@ private:
|
|||
|
||||
template <typename T>
|
||||
bool read_saved_model(const std::basic_string<T>& path, const std::string& tags) {
|
||||
std::ifstream sm_stream{path + get_saved_model_name<T>(), std::ifstream::in | std::ifstream::binary};
|
||||
std::basic_string<T> save_model_path = path + get_saved_model_name<T>();
|
||||
std::ifstream sm_stream{save_model_path.c_str(), std::ifstream::in | std::ifstream::binary};
|
||||
FRONT_END_GENERAL_CHECK(sm_stream && sm_stream.is_open(), "Model file does not exist");
|
||||
|
||||
std::basic_string<T> varIndexPath = path + get_variables_index_name<T>();
|
||||
if (ov::util::file_exists(varIndexPath)) {
|
||||
m_variables_index = std::make_shared<VariablesIndex>();
|
||||
std::ifstream vi_stream{varIndexPath, std::ifstream::in | std::ifstream::binary};
|
||||
std::ifstream vi_stream{varIndexPath.c_str(), std::ifstream::in | std::ifstream::binary};
|
||||
FRONT_END_GENERAL_CHECK(vi_stream && vi_stream.is_open(),
|
||||
"Saved Model's variable index file does not exist");
|
||||
FRONT_END_GENERAL_CHECK(m_variables_index->read_variables(vi_stream, path),
|
||||
|
|
|
|||
|
|
@ -264,8 +264,8 @@ bool VariablesIndex::read_variables(std::ifstream& vi_stream, const std::string&
|
|||
} else {
|
||||
fullPath = path + "." + suffix.data();
|
||||
}
|
||||
m_data_files[shard] =
|
||||
std::shared_ptr<std::ifstream>(new std::ifstream(fullPath, std::ifstream::in | std::ifstream::binary));
|
||||
m_data_files[shard] = std::shared_ptr<std::ifstream>(
|
||||
new std::ifstream(fullPath.c_str(), std::ifstream::in | std::ifstream::binary));
|
||||
FRONT_END_GENERAL_CHECK(m_data_files[shard]->is_open(), "Variable index data file does not exist");
|
||||
}
|
||||
|
||||
|
|
@ -288,8 +288,8 @@ bool VariablesIndex::read_variables(std::ifstream& vi_stream, const std::wstring
|
|||
} else {
|
||||
fullPath = path + L"." + suffix.data();
|
||||
}
|
||||
m_data_files[shard] =
|
||||
std::shared_ptr<std::ifstream>(new std::ifstream(fullPath, std::ifstream::in | std::ifstream::binary));
|
||||
m_data_files[shard] = std::shared_ptr<std::ifstream>(
|
||||
new std::ifstream(fullPath.c_str(), std::ifstream::in | std::ifstream::binary));
|
||||
FRONT_END_GENERAL_CHECK(m_data_files[shard]->is_open(), "Variable index data file does not exist");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ public:
|
|||
}
|
||||
|
||||
/// \brief Checks if variable has a mapped pair
|
||||
/// \param name Name of variable for checking existance
|
||||
/// \param name Name of variable for checking existence
|
||||
/// \returns True in case variable has mapped value and false otherwise
|
||||
bool has_mapped_variable(const std::string& name) const {
|
||||
auto mapItem = m_variables_map.find(name);
|
||||
|
|
|
|||
|
|
@ -33,4 +33,4 @@ ov_ncc_naming_style(FOR_TARGET ${TARGET_NAME}
|
|||
"${root_dir}/src"
|
||||
ADDITIONAL_INCLUDE_DIRECTORIES
|
||||
$<TARGET_PROPERTY:${TARGET_NAME},INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:${TARGET_NAME},INCLUDE_DIRECTORIES>)
|
||||
$<TARGET_PROPERTY:${TARGET_NAME},INCLUDE_DIRECTORIES>)
|
||||
|
|
|
|||
|
|
@ -52,13 +52,13 @@ NamedOutputVector translate_non_max_suppression_op(const NodeContext& node) {
|
|||
auto scores = node.get_input(1);
|
||||
auto max_output_size = node.get_input(2);
|
||||
|
||||
// prepare boxes: in TensorFlow NonMaxSupression operation there is no batch dimension
|
||||
// prepare boxes: in TensorFlow NonMaxSuppression operation there is no batch dimension
|
||||
// so we need to introduce it to be aligned with OpenVINO NonMaxSuppression
|
||||
// boxes of shape [num_batches, num_boxes, 4]
|
||||
auto boxes_axis = make_shared<Constant>(element::i32, Shape{1}, 0);
|
||||
auto ov_boxes = make_shared<Unsqueeze>(boxes, boxes_axis);
|
||||
|
||||
// prepare scores: in TensorFlow NonMaxSupression operation there is no batch and class dimensions
|
||||
// prepare scores: in TensorFlow NonMaxSuppression operation there is no batch and class dimensions
|
||||
// so we need to introduce them to be aligned with OpenVINO NonMaxSuppression scores
|
||||
// of shape [num_batches, num_classes, num_boxes]
|
||||
auto scores_axes = make_shared<Constant>(element::i32, Shape{2}, vector<int32_t>{0, 1});
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ target_include_directories(${TARGET_NAME}_obj SYSTEM PRIVATE
|
|||
$<TARGET_PROPERTY:ngraph,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:openvino::pugixml,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:frontend_common::static,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:xbyak,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
$<$<TARGET_EXISTS:xbyak::xbyak>:$<TARGET_PROPERTY:xbyak::xbyak,INTERFACE_INCLUDE_DIRECTORIES>>)
|
||||
|
||||
target_include_directories(${TARGET_NAME}_obj PRIVATE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src"
|
||||
|
|
|
|||
|
|
@ -35,13 +35,13 @@ public:
|
|||
*/
|
||||
SharedObjectLoader() = default;
|
||||
|
||||
#ifdef ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
/**
|
||||
* @brief Loads a library with the wide char name specified.
|
||||
* @param pluginName Full or relative path to the plugin library
|
||||
*/
|
||||
explicit SharedObjectLoader(const wchar_t* pluginName);
|
||||
#endif
|
||||
#endif // OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
|
||||
/**
|
||||
* @brief Loads a library with the name specified.
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
# define INFERENCE_ENGINE_API_CPP(...) __VA_ARGS__
|
||||
# define INFERENCE_ENGINE_API_CLASS(...) __VA_ARGS__
|
||||
#else
|
||||
# if defined(_WIN32)
|
||||
# if defined(_WIN32) || defined(__CYGWIN__)
|
||||
# ifdef IMPLEMENT_INFERENCE_ENGINE_API
|
||||
# define INFERENCE_ENGINE_API(...) extern "C" __declspec(dllexport) __VA_ARGS__ __cdecl
|
||||
# define INFERENCE_ENGINE_API_CPP(...) __declspec(dllexport) __VA_ARGS__
|
||||
|
|
@ -31,53 +31,53 @@
|
|||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if defined(__GNUC__)
|
||||
# define INFERENCE_ENGINE_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
# if __GNUC__ >= 6 || defined(__clang__)
|
||||
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg) INFERENCE_ENGINE_DEPRECATED(msg)
|
||||
# else
|
||||
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg)
|
||||
# endif
|
||||
#elif defined(_MSC_VER)
|
||||
# define INFERENCE_ENGINE_DEPRECATED(msg) __declspec(deprecated(msg))
|
||||
# if __cplusplus >= 201402L
|
||||
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg) [[deprecated(msg)]]
|
||||
# else
|
||||
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg)
|
||||
# endif
|
||||
#elif defined __INTEL_COMPILER
|
||||
#elif defined(__INTEL_COMPILER)
|
||||
# define INFERENCE_ENGINE_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg) INFERENCE_ENGINE_DEPRECATED(msg)
|
||||
#elif defined(__GNUC__)
|
||||
# define INFERENCE_ENGINE_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
# if __GNUC__ < 6 && !defined(__clang__)
|
||||
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg)
|
||||
# else
|
||||
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg) INFERENCE_ENGINE_DEPRECATED(msg)
|
||||
# endif
|
||||
#else
|
||||
# define INFERENCE_ENGINE_DEPRECATED(msg)
|
||||
# define INFERENCE_ENGINE_ENUM_DEPRECATED(msg)
|
||||
#endif
|
||||
|
||||
// Suppress warning "-Wdeprecated-declarations" / C4996
|
||||
#if defined(_MSC_VER)
|
||||
# define IE_DO_PRAGMA(x) __pragma(x)
|
||||
#elif defined(__GNUC__)
|
||||
#if defined(__GNUC__)
|
||||
# define IE_DO_PRAGMA(x) _Pragma(# x)
|
||||
#elif defined(_MSC_VER)
|
||||
# define IE_DO_PRAGMA(x) __pragma(x)
|
||||
#else
|
||||
# define IE_DO_PRAGMA(x)
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#if (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ > 405)) || defined(__clang__)
|
||||
# define IE_SUPPRESS_DEPRECATED_START \
|
||||
IE_DO_PRAGMA(GCC diagnostic push) \
|
||||
IE_DO_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")
|
||||
# define IE_SUPPRESS_DEPRECATED_END IE_DO_PRAGMA(GCC diagnostic pop)
|
||||
#elif defined(_MSC_VER)
|
||||
# define IE_SUPPRESS_DEPRECATED_START \
|
||||
IE_DO_PRAGMA(warning(push)) \
|
||||
IE_DO_PRAGMA(warning(disable : 4996))
|
||||
# define IE_SUPPRESS_DEPRECATED_END IE_DO_PRAGMA(warning(pop))
|
||||
#elif defined(__INTEL_COMPILER)
|
||||
# define IE_SUPPRESS_DEPRECATED_START \
|
||||
IE_DO_PRAGMA(warning(push)) \
|
||||
IE_DO_PRAGMA(warning(disable : 1478))
|
||||
IE_DO_PRAGMA(warning(disable : 1786))
|
||||
# define IE_SUPPRESS_DEPRECATED_START \
|
||||
IE_DO_PRAGMA(warning(push)) \
|
||||
IE_DO_PRAGMA(warning(disable : 1478)) \
|
||||
IE_DO_PRAGMA(warning(disable : 1786))
|
||||
# define IE_SUPPRESS_DEPRECATED_END IE_DO_PRAGMA(warning(pop))
|
||||
#elif defined(__clang__) || ((__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ > 405))
|
||||
# define IE_SUPPRESS_DEPRECATED_START \
|
||||
IE_DO_PRAGMA(GCC diagnostic push) \
|
||||
IE_DO_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations")
|
||||
# define IE_SUPPRESS_DEPRECATED_END IE_DO_PRAGMA(GCC diagnostic pop)
|
||||
#else
|
||||
# define IE_SUPPRESS_DEPRECATED_START
|
||||
# define IE_SUPPRESS_DEPRECATED_END
|
||||
|
|
@ -92,18 +92,22 @@ IE_DO_PRAGMA(warning(disable : 1786))
|
|||
# define _IE_SUPPRESS_DEPRECATED_END_GCC
|
||||
#endif
|
||||
|
||||
#ifndef ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifndef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# ifdef _WIN32
|
||||
# if defined __INTEL_COMPILER || defined _MSC_VER
|
||||
# define ENABLE_UNICODE_PATH_SUPPORT
|
||||
# if defined(__INTEL_COMPILER) || defined(_MSC_VER) || defined(__GNUC__)
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
# elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 2)) || defined(__clang__)
|
||||
# define ENABLE_UNICODE_PATH_SUPPORT
|
||||
# elif defined(__clang__)
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# elif defined(__GNUC__) && (__GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 2))
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_UNICODE_PATH_SUPPORT
|
||||
# define OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
# ifndef ENABLE_UNICODE_PATH_SUPPORT
|
||||
# define ENABLE_UNICODE_PATH_SUPPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
@ -112,7 +116,7 @@ IE_DO_PRAGMA(warning(disable : 1786))
|
|||
* @param type A plugin type
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) && defined(IMPLEMENT_INFERENCE_ENGINE_PLUGIN)
|
||||
#if (defined(_WIN32) || defined(__CYGWIN__)) && defined(IMPLEMENT_INFERENCE_ENGINE_PLUGIN)
|
||||
# define INFERENCE_PLUGIN_API(type) extern "C" __declspec(dllexport) type
|
||||
#else
|
||||
# define INFERENCE_PLUGIN_API(type) INFERENCE_ENGINE_API(type)
|
||||
|
|
|
|||
|
|
@ -609,7 +609,7 @@ public:
|
|||
* @return rvalue for the empty locked object of type T
|
||||
*/
|
||||
virtual LockedMemory<T> data() noexcept {
|
||||
return std::move(lockme<T>());
|
||||
return lockme<T>();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -618,7 +618,7 @@ public:
|
|||
* @return rvalue for the empty locked const object of type T.
|
||||
*/
|
||||
virtual LockedMemory<const T> readOnly() const noexcept {
|
||||
return std::move(lockme<const T>());
|
||||
return lockme<const T>();
|
||||
}
|
||||
|
||||
void allocate() noexcept override {
|
||||
|
|
@ -639,22 +639,22 @@ public:
|
|||
}
|
||||
|
||||
LockedMemory<void> buffer() noexcept override {
|
||||
return std::move(lockme<void>());
|
||||
return lockme<void>();
|
||||
}
|
||||
|
||||
LockedMemory<const void> cbuffer() const noexcept override {
|
||||
return std::move(lockme<const void>());
|
||||
return lockme<const void>();
|
||||
}
|
||||
|
||||
LockedMemory<void> rwmap() noexcept override {
|
||||
return std::move(lockme<void>());
|
||||
return lockme<void>();
|
||||
}
|
||||
|
||||
LockedMemory<const void> rmap() const noexcept override {
|
||||
return std::move(lockme<const void>());
|
||||
return lockme<const void>();
|
||||
}
|
||||
LockedMemory<void> wmap() noexcept override {
|
||||
return std::move(lockme<void>());
|
||||
return lockme<void>();
|
||||
}
|
||||
|
||||
Blob::Ptr createROI(const ROI& roi) const override {
|
||||
|
|
|
|||
|
|
@ -504,7 +504,8 @@ struct NullStream {
|
|||
|
||||
} // namespace details
|
||||
} // namespace InferenceEngine
|
||||
#if defined(_WIN32)
|
||||
|
||||
#if defined(_WIN32) && !defined(__GNUC__)
|
||||
# define __PRETTY_FUNCTION__ __FUNCSIG__
|
||||
#else
|
||||
# define __PRETTY_FUNCTION__ __PRETTY_FUNCTION__
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ public:
|
|||
*/
|
||||
std::map<std::string, Version> GetVersions(const std::string& deviceName) const;
|
||||
|
||||
#ifdef ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
/**
|
||||
* @brief Reads models from IR and ONNX formats
|
||||
* @param modelPath path to model
|
||||
|
|
@ -69,7 +69,7 @@ public:
|
|||
* @return CNNNetwork
|
||||
*/
|
||||
CNNNetwork ReadNetwork(const std::wstring& modelPath, const std::wstring& binPath = {}) const;
|
||||
#endif
|
||||
#endif // OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
|
||||
/**
|
||||
* @brief Reads models from IR and ONNX formats
|
||||
|
|
|
|||
|
|
@ -31,14 +31,14 @@ public:
|
|||
*/
|
||||
explicit Extension(const std::string& name);
|
||||
|
||||
#ifdef ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
/**
|
||||
* @brief Loads extension from a shared library
|
||||
*
|
||||
* @param name Full or relative path to extension library
|
||||
*/
|
||||
explicit Extension(const std::wstring& name);
|
||||
#endif // ENABLE_UNICODE_PATH_SUPPORT
|
||||
#endif // OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
|
||||
/**
|
||||
* @brief Gets the extension version information
|
||||
|
|
@ -110,7 +110,7 @@ inline std::shared_ptr<T> make_so_pointer(const std::string& name) {
|
|||
return std::make_shared<Extension>(name);
|
||||
}
|
||||
|
||||
#ifdef ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
|
||||
/**
|
||||
* @brief Creates extension using deprecated API
|
||||
|
|
@ -123,5 +123,6 @@ inline std::shared_ptr<IExtension> make_so_pointer(const std::wstring& name) {
|
|||
return std::make_shared<Extension>(name);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif // OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
|
||||
} // namespace InferenceEngine
|
||||
|
|
|
|||
|
|
@ -25,13 +25,13 @@
|
|||
* @def INFERENCE_EXTENSION_API(TYPE)
|
||||
* @brief Defines Inference Engine Extension API method
|
||||
*/
|
||||
#if defined(_WIN32)
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
# if defined(IMPLEMENT_INFERENCE_EXTENSION_API)
|
||||
# define INFERENCE_EXTENSION_API(type) extern "C" __declspec(dllexport) type
|
||||
# else
|
||||
# define INFERENCE_EXTENSION_API(type) extern "C" type
|
||||
# endif
|
||||
#elif defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
#elif defined(__GNUC__) && (__GNUC__ >= 4) || defined(__clang__)
|
||||
# ifdef IMPLEMENT_INFERENCE_EXTENSION_API
|
||||
# define INFERENCE_EXTENSION_API(type) extern "C" __attribute__((visibility("default"))) type
|
||||
# else
|
||||
|
|
@ -220,7 +220,7 @@ INFERENCE_EXTENSION_API(void) CreateExtensionShared(IExtensionPtr& ext);
|
|||
* @param resp Responce
|
||||
* @return InferenceEngine::OK if extension is constructed and InferenceEngine::GENERAL_ERROR otherwise
|
||||
*/
|
||||
#if defined(_WIN32)
|
||||
#ifdef _MSC_VER
|
||||
INFERENCE_ENGINE_DEPRECATED("Use IE_DEFINE_EXTENSION_CREATE_FUNCTION macro")
|
||||
INFERENCE_EXTENSION_API(StatusCode)
|
||||
CreateExtension(IExtension*& ext, ResponseDesc* resp) noexcept;
|
||||
|
|
|
|||
|
|
@ -39,6 +39,9 @@
|
|||
#ifdef __GNUC__
|
||||
# pragma GCC diagnostic push
|
||||
# pragma GCC system_header
|
||||
#elif defined(_MSC_VER)
|
||||
# pragma warning(push)
|
||||
# pragma system_header
|
||||
#endif
|
||||
|
||||
#ifdef OV_GPU_USE_OPENCL_HPP
|
||||
|
|
@ -49,6 +52,8 @@
|
|||
|
||||
#ifdef __GNUC__
|
||||
# pragma GCC diagnostic pop
|
||||
#elif defined(_MSC_VER)
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
/// @endcond
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ Extension::Extension(const std::string& name) {
|
|||
_actual = CreateExtensionFromLibrary<IExtension>(_so);
|
||||
}
|
||||
|
||||
#ifdef ENABLE_UNICODE_PATH_SUPPORT
|
||||
#ifdef OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
Extension::Extension(const std::wstring& name) {
|
||||
try {
|
||||
_so = ov::util::load_shared_object(name.c_str());
|
||||
|
|
@ -70,7 +70,7 @@ Extension::Extension(const std::wstring& name) {
|
|||
}
|
||||
_actual = CreateExtensionFromLibrary<IExtension>(_so);
|
||||
}
|
||||
#endif // ENABLE_UNICODE_PATH_SUPPORT
|
||||
#endif // OPENVINO_ENABLE_UNICODE_PATH_SUPPORT
|
||||
|
||||
std::map<std::string, ngraph::OpSet> Extension::getOpSets() {
|
||||
return _actual->getOpSets();
|
||||
|
|
|
|||
|
|
@ -31,6 +31,9 @@
|
|||
# endif
|
||||
|
||||
# if defined(_WIN32) || defined(_WIN64)
|
||||
# ifndef NOMINMAX
|
||||
# define NOMINMAX
|
||||
# endif
|
||||
# include <windows.h>
|
||||
# endif
|
||||
|
||||
|
|
@ -161,7 +164,7 @@ public:
|
|||
|
||||
private:
|
||||
int get_processors_group_num() const {
|
||||
# if defined(_WIN32) || defined(_WIN64)
|
||||
# if defined(_WIN32)
|
||||
SYSTEM_INFO si;
|
||||
GetNativeSystemInfo(&si);
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ namespace threading {
|
|||
|
||||
#if (defined(__APPLE__) || defined(__EMSCRIPTEN__) || defined(_WIN32))
|
||||
using cpu_set_t = void;
|
||||
#endif // (defined(__APPLE__) || defined(_WIN32))
|
||||
#endif // (defined(__APPLE__) || defined(__EMSCRIPTEN__) || defined(_WIN32))
|
||||
|
||||
/**
|
||||
* @brief Release the cores affinity mask for the current process
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue