Commit Graph

70 Commits

Author SHA1 Message Date
Ilya Lavrenov
956c6dd35f Extracted toolchain to build with static runtime from OneCore toolchain (#3045)
* Static runtime

* Fixed cldnn compilation with static runtime

* Added separate toolchain for static runtime

* Added toolchain itself
2021-02-04 11:08:30 +03:00
Ilya Lavrenov
75ed35836f Properly enabled ia32 build (#4145)
* Properly enabled ia32 build

* Fixed OpenCV_DIR env check
2021-02-03 17:26:50 +03:00
Sergey Lyubimtsev
ce0537bd1f [CMake] Fixes for TBB tmp location (#3997)
* fixes for TBB tmp location:

- DL_SDK_TEMP path is not normalized, that leads to paths check mismatch in CMake conditions
- TBB is not downloaded again in a case tmp location is cleaned up and build restarted (TBB_DIR and TBBROOT are cache variables)

* use reset_deps_cache & update_deps_cache for TBB_DIR var.

* single  reset_deps_cache call
2021-01-25 19:06:12 +03:00
Ilya Lavrenov
9cfe909e1e Unused variables (#3963)
* Added -Wused-variable flag

* Fixes for clang compiler

* Removed wrong -Wno-error from protobuf compilation

* More fixes
2021-01-22 17:41:15 +03:00
Ilya Lavrenov
7e54cdba15 Fixed cmake 'message' for multiple arguments (#3901) 2021-01-19 15:35:31 +03:00
Andrey Somsikov
cc9c480554 Fix sanitizer build (#3869) 2021-01-15 09:42:31 +03:00
Vladislav Vinogradov
8ec38cf039 [cmake] Fix single config generators handling (#3794)
* Add `USE_BUILD_TYPE_SUBFOLDER` CMake option to append
  `CMAKE_BUILD_TYPE` to output binary directory.
  Initialize it to `ON` for UNIX to keep current behavior.
* Remove forced `CMAKE_CONFIGURATION_TYPES` initialization,
  use user provided value instead.

This will allow to use single config generators (like Ninja) on Windows
with MSVC compilers and get binaries in per-config sub-folders in the same
way as on UNIX.

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2021-01-11 18:38:11 +03:00
Ilya Lavrenov
0d22328a25 Partially removed ngraph cmake duplication with IE cmake (#3751)
* Partially removed cmake duplication with IE cmake

* Deprecated API usage: fixed or suppressed

* Fix for TypeRelaxed

* Canonical form for ngraph includes

* Removed extra visibilit settings; removed graphviz find_package

* Removed var_functions module; canonical includes for ngraph::reference

* Fixed deprecated API in ngraph tests

* Re-use standard cmake macro for shared libs

* Trying to fix ONNX importer tests
2021-01-11 14:49:33 +03:00
Ilya Lavrenov
50f9dd8a6b Enabled CMP0025 as NEW (#3791) 2021-01-11 14:48:27 +03:00
Ilya Lavrenov
7f04723d25 Fixed install location for MODULE library type (#3752) 2021-01-10 18:21:13 +03:00
Vladislav Vinogradov
00d37aaa62 Use find_package instead of include(Find*) in CMake scripts (#3767)
Otherwise CMake produces the following warning:

```
CMake Warning (dev) at /usr/local/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
  The package name passed to `find_package_handle_standard_args` (Wget) does
  not match the name of the calling package (IEDevScripts).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/local/share/cmake-3.19/Modules/FindWget.cmake:26 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  cmake/developer_package/download/download_and_check.cmake:5 (include)
  cmake/developer_package/download/download_and_extract.cmake:6 (include)
  cmake/developer_package/download/download.cmake:25 (include)
  cmake/developer_package/download/dependency_solver.cmake:5 (include)
  cmake/developer_package/IEDevScriptsConfig.cmake:208 (include)
  CMakeLists.txt:12 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
```
2020-12-31 12:48:23 +03:00
Ilya Lavrenov
278b662e56 Removed global CMAKE_MODULE_PATH in IE DevPackage (#3747)
* Cleanup

* Added CMAKE_MODULE_LINKER_FLAGS for onecoreuap toolchain

* Fixed ENABLE_FASTER_BUILD mode on Android

* Cosmetic fix

* Fixed fuzzing

* Enabled fuzzing
2020-12-27 00:02:50 +03:00
Ilya Lavrenov
9d6bd321d8 Fixed message if ENABLE_ERROR_HIGHLIGHT is enabled (#3712) 2020-12-24 08:07:50 +03:00
Ilya Lavrenov
036f574756 module library type for IE plugins, extensions (#3656)
* CMAKE: Added MODULE linker flags

* Fixed plugins.xml s

* Use module instead of shared library

* Fixes

* tab 2 spaces

* Renamed get_shared_library_name to ie_plugin_get_file_name
2020-12-23 18:25:42 +03:00
Vladislav Volkov
96b032504e Errors and warnings highlighting for UNIX platforms (#3643)
* Errors and warnings highlighting for UNIX platforms

* The option added for errors and warning highlighting enabling
2020-12-23 08:01:07 +03:00
Ilya Lavrenov
856ab82bbf Added company name to a version file (#3653) 2020-12-22 21:02:52 +03:00
Ilya Lavrenov
9465073f58 Introduce IEDevScripts package (#3661)
* Refactored developer package

* Added fuzzing for CMAKE_MODULE_LINKER_FLAGS as well

* Added options for developer package

* More improvements

* Further improvements

* Removed global CMAKE_MODULE_PATH population

* Fixes

* Final fixes

* Fixed python build

* Fix for TBB

* Fixed Find TBB

* Fixed install

* Fixes for OV features

* Split developer targets per component

* Fixed IE build tree config

* Fixed ITT

* Fixed review comments

* Clean export dependencies

* Fixed export of pugixml

* Added IEDevScripts_DIR for Android

* Fixed Android #2

* Fixed Android #3

* Fixed python cc

* Disabled Core threading tests on GNA
2020-12-22 18:44:59 +03:00
Alexey Suhov
a569a0b529 [cmake] retry after hash mismatch error (#3612)
* [cmake] retry after hash mismatch error
2020-12-15 19:56:42 +03:00
Ilya Lavrenov
e4260cdc3f Template device testing (#3521)
* Added template plugin testing on public CI

* Updated tests config

* Added DEVICE_TEMPLATE constant to tests

* Updated tests

* Disable template plugin by default

* Fixes

* Fixed HETERO tests
2020-12-09 17:13:32 +03:00
Ilya Lavrenov
776005749c Documentation fixes (#3418)
* Fixed documentation build when paths contain spaces

* ops math formula fix

* Fixed typo in

* Added more dependencies for openvino_docs

* Improvements

Co-authored-by: Nikolay Tyukaev <ntyukaev_lo@jenkins.inn.intel.com>
2020-12-01 06:33:36 +03:00
Konstantin Satunin
083302dfb6 Solve warnings with PDB flags override (#3296)
* resolve clash of tests compile pdb file names

* Solving problem using different way

* resolve duplicate flags for gtest
2020-11-27 18:16:45 +03:00
Ilya Lavrenov
6f2bca0000 Moved code style cmake scripts to a common place (#3228) 2020-11-26 15:38:55 +03:00
Vladislav Vinogradov
1174ef64a4 Fix cross-compilation for ARM (#3354)
* Add missing `SHA256` for `SYSTEM_PROTOC` package.
* Do not use `NGRAPH_ONNX_IMPORT_ENABLE` variable for it,
  since it might not be defined at this time.
2020-11-25 19:34:56 +03:00
Dmitry Kurtaev
5fc2724199 [CMake] SHA is required (#3334) 2020-11-25 06:55:00 +03:00
Vladislav Volkov
1f96ddfbf9 Tools for conditional compilation (#3169)
* Tools for conditional compilation

* Unit tests for conditional compilation & Refactoring

* Fix for MSVC selective build macros

* Unit tests for conditional compilation in analysys mode

* Code generation for selective build is hidden inside CMake

* Comments for conditional compilation options
2020-11-25 06:43:35 +03:00
Konstantin Satunin
9dc57d771d Revert "Use default PDB files format (#3265)" (#3293)
This reverts commit d39f54df03.
2020-11-23 18:30:43 +03:00
Konstantin Satunin
d39f54df03 Use default PDB files format (#3265)
* Use default PDB files format

* Leave debug flags forming to cmake
2020-11-23 17:03:17 +03:00
Dmitry Kurtaev
ca7d13e3e1 Check sha256 hash for downloaded files (#3218) 2020-11-23 16:56:14 +03:00
Ilya Lavrenov
5cc7314f75 Ngraph static lib (#3193)
* Fix: ITT_INCLUDE_DIR was not correctly detected

* Added NGRAPH_STATIC_LIBRARY CMake flag to optionnaly compile ngraph and link it as a static library instead of a dynamic one
- Definition of NGRAPH_STATIC_LIBRARY macro in callee and caller code to avoid dllexport/dllimport decoration
- Adding missing definitions of the explicit instantiation of FactoryRegistry<>::get
- Removed message about a non existent variable: NGRAPH_IE_STATIC_LIB_ENABLE
- Removed install export directive for ngraph in case of static library

* * Code style fix

* Added NGRAPH_STATIC_LIBRARY CMake flag to optionnaly compile ngraph and link it as a static library instead of a dynamic one
- Definition of NGRAPH_STATIC_LIBRARY macro in callee and caller code to avoid dllexport/dllimport decoration
- Adding missing definitions of the explicit instantiation of FactoryRegistry<>::get
- Removed message about a non existent variable: NGRAPH_IE_STATIC_LIB_ENABLE
- Removed install export directive for ngraph in case of static library

* - Removed redundant symbol definition
- Indented properly some comments

* - Making sure onnx is always compiled as a static library no matter what is the value of BUILD_SHARED_LIBS

* - Making sure onnx is always compiled as a static library no matter what is the value of BUILD_SHARED_LIBS

* Fixed incorrect suppression of directive

* Using BUILD_SHARED_LIBS (defaulted to ON) instead of a custom CMake option NGRAPH_STATIC_LIBRARY

* Removed useless comma

* Forcing pugixml to be static event when BUILD_SHARED_LIBS=ON globally.

* Forcing gtest for ie tests to be compiled as a static library.

* Made protobuf and gtest from ngraph always static.
Factorized all the force static logic for ngraph's externals in ngraph's CMakeLists.txt instead of external_*.cmake

* gflags is always static

* Solving cross compilation from Debian 9

* using the same pattern for other ngraph externals

Co-authored-by: emmanuelattia-philips <66060489+emmanuelattia-philips@users.noreply.github.com>
Co-authored-by: Emmanuel Attia <emmanuel.attia@philips.com>
2020-11-18 18:09:41 +03:00
Ilya Lavrenov
dfae8fec65 OneCore toolchain (#3044)
* Added OneCoreUap toolchain file

* Intentation

* Updated OneCore toolchain

* Fixed linkage error with static runtime

* Link reader_api library

* Enable static runtime for ONNX part

* Allow to override flags

* Added flag for clDNN; plus refactoring

* Fix Includes

* Added toolchain check

* Added apivalidator for MYRIAD plugin

* Added commented apivalidator for CLDNN plugin
2020-11-10 16:29:37 +03:00
Ilya Lavrenov
307182af69 Multi process build for MSVC (#2974) 2020-11-05 11:31:02 +03:00
Ilya Lavrenov
1a1451ed8f Compilation with MSVC for ARM (#2928)
* Enable compilation with MSVC for ARM / ARM64

* Condition fix
2020-11-03 00:55:49 +03:00
Ilya Lavrenov
2104b6dde0 Added support for Visual Studio VERSIONINFO (#2900)
* Generate vs_version file

* Fixed comments

* Fixed comments
2020-10-30 21:38:34 +03:00
Ilya Lavrenov
d14a7939a6 Removed forced CMAKE_VERBOSE_MAKEFILE (#2891) 2020-10-29 13:12:01 +03:00
Ilya Lavrenov
ce037da591 Updated apiValidator rules (#2785)
* Updated apiValidator rules: added custom filter to emulate BinaryExclusions.xml

* temp

* Temp

* debug log

* Print a message about success

* Fixed file name
2020-10-29 12:38:15 +03:00
Ilya Lavrenov
258c51bd1f Openvino extra module adding - refactored (#2754)
* Rename plugin to module

* Added openvino_contrib handling

* Moved NEON flags to common place

* Fixed -Werror=catch-value= gcc-9 error
2020-10-23 08:54:48 +03:00
Ilya Lavrenov
a4584d77a2 Added apiValidator post-build checks for WCOS compliance (#2657)
* Added apiValidator post-build checks for WCOS compiance

* WA for cmake

* Additional checks for old WDK version
2020-10-16 10:58:38 +03:00
Andrey Somsikov
0eb176c815 Use ittnotify built from sources (#2577)
* Use  ittnotify built from sources

ITT tracing was only possible on the platfroms supported by VTune.
Building ittnotify from sources removes VTune dependency.

ITT traces was found significantly slowdown tests execution time.
Disabling ENABLE_PROFILING_ITT by default. This is also
a current behavior of Intel Distribution of OpenVINO.

* Fix missprint

* Add include directories to itt
2020-10-14 13:08:06 +03:00
Ilya Lavrenov
82d0aaf1dd used native LTO support from cmake 3.9.6 (#2625)
* used native LTO support from cmake 3.9.6

* Removed compilation flags push / pop

* Fixes

* Fixes for VPU unit tests

* Temp WA for old gcc
2020-10-14 10:43:24 +03:00
Ilya Lavrenov
39e7905fe1 Fixed LTO for gcc-9 (ubuntu 20.04) (#2616)
* Fixed LTO for gcc-9 (ubuntu 20.04)

* Fixed ODR rules violation for MKLDNN deprecated functional tests

* Fixed tests build for templatePlugin
2020-10-12 06:57:59 +03:00
Ilya Lavrenov
da625b995e Shellcheck update (#2557)
* Fixed SC2236 rules

* Fixed SC2086 rule

* Small fixes in other scripts
2020-10-09 13:25:53 +03:00
Ilya Lavrenov
de1cc8af2e Shellcheck tests for bash scripts (#2532)
* Added bash scripts checks with shellcheck

* Fixed indentations

* Fixed setupvars.sh with shellcheck

* Fixed MO scripts

* Compilation with newer versions of shellcheck
2020-10-05 23:37:50 +03:00
Konstantin Satunin
2d3d703445 Add wget retry (#2455)
* Add wget retry

Make CMake download more tolerant to network issues

* Sync log message
2020-09-29 19:10:04 +03:00
Vladislav Vinogradov
d28a5d6c4f [CMAKE] Introduce FASTER_BUILD experimental feature (#2438)
It uses CMake 3.16 built-in utilities to speed up build time:

* Unity builds
* Precompiled headers

The feature is controlled via `ENABLE_FASTER_BUILD` CMake option (disabled by default).
The option avaialble only on CMake >= 3.16.
The feature is enabled per-target via `ie_faster_build` function.

Some observations:

* Don't have actual numbers for compile time, but subjectively can see
  speed up locally with VS 2019.
* Unity builds gives much more effect, but has some restriction on source files,
  so are not used everywhere.
2020-09-28 18:53:11 +03:00
Nikolay Tyukaev
101ef50f4e add doxygen doc build configurations and scripts (#1703)
* add doxygen doc build configurations

* fix layouts

* change the dl-streamer link

Co-authored-by: Nikolay Tyukaev <ntyukaev_lo@jenkins.inn.intel.com>
2020-09-23 11:15:02 +03:00
Ilya Lavrenov
23c1c3b6ad Updated UWP toolchain (#2355) 2020-09-22 17:41:21 +03:00
Ilya Lavrenov
147a508a51 fixes for UWP (#2255)
* UWP fixes

* Commented code for compilation with UWP

* Current state: compiled for DESKTOP_APP

* Fixes

* Added toolchain

* Enabled ONNX imported for Windows Store

* Updated toolchain

* Fixes

* Disable ONNX in case of UWP

* Fix for Windows Driver

* Applied style check

* Dynamic loading of GetDLLDirectory symbols

* Clean-up in the toolchain

* Updated mkldnn plugin cmake
2020-09-18 17:13:27 +03:00
Ilya Lavrenov
a4dcfed1a9 Simplified plugin interfaces (#1745)
* Simplified plugin interface

* Allow not implemented

* Fixes

* Fixed CPU plugin tests

* Fixed tests dependencies

* Fixes

* Fixed GPU plugin compilation

* Renamed plugin

* Fixes

* Removed tests for plugin base

* Fix2

* Fix 2

* Define a macro to define plugin creation function

* Clean-up

* Fixed OSX build

* Fixed CentOS

* Fixed exception catch / throw

* Fixed clang issue

* Fixed python tests on macOsx
2020-08-14 12:11:54 +03:00
Vladislav Volkov
8ae30481f1 ENABLE_PROFILING_ITT option is ignored if ITT library not found (#1647) 2020-08-06 13:20:35 +03:00
Andrey Somsikov
2c41b8e4f3 Add support for /INTEGRITYCHECK flag on Windows (#1390)
* Build dlls with INTEGRITYCHECK flag if ENABLE_INTEGRITYCHECK=ON

INTEGRITYCHECK flag enforces digital signature before loading the binary in Windows.
Also, refine /guard:cf flag enabling - MSCV, Intel, clang compilers does support /guard:cf.
2020-08-05 22:37:16 +03:00